Execute Brain****: Difference between revisions
→{{header|Quackery}}: reworked
(Added Quackery.) |
(→{{header|Quackery}}: reworked) |
||
Line 5,485:
=={{header|Quackery}}==
<lang Quackery> [ stack ]
[
[ switch.arg share != iff ]else[ done
▲ [ stack ] is input$ ( --> s )
[ tape take 0 join tape put ] ] is stepright ( --> )▼
else [ -1 counter tally ] ] is stepleft ( --> )▼
[ dup 0 = iff [ 0 rot join swap ] else [ 1 - ] ] is stepleft ( [ n --> [ n )
2dup peek 1 + unrot poke tape put ] is increment ( --> )▼
2dup peek 1 - unrot poke tape put ] is decrement ( --> )▼
[
[
▲ poke tape put input$ put ] is getchar ( --> )
[ temp put $ "" swap witheach▼
▲ [ tape share counter share peek 0 = ] is zero ( --> b )
otherwise ( ignore ) ] ]
0 nested 0 rot quackery temp release 2drop ] is brainf*** ( $ $ --> )</lang>
{{out}}
▲ $ "" swap witheach
▲ [ drop $ "stepright " join ] done
▲ [ drop $ "stepleft " join ] done
▲ [ drop $ "increment " join ] done
▲ [ drop $ "decrement " join ] done
▲ [ drop $ "print " join ] done
▲ [ drop $ "getchar " join ] done
▲ [ drop $ "[ zero if done " join ]
▲ done
▲ [ drop $ "zero until ] " join ]
▲ witheach release ] is brainf*** ( $ $ --> )</lang>
Testing <code>brainf***</code> in Quackery shell with Brainf*** code from [[Reverse a string#Brainf***]].
|