Execute Brain****: Difference between revisions
Content added Content deleted
(Added Quackery.) |
(→{{header|Quackery}}: reworked) |
||
Line 5,485: | Line 5,485: | ||
=={{header|Quackery}}== |
=={{header|Quackery}}== |
||
<lang Quackery> [ stack ] |
<lang Quackery> [ stack ] is switch.arg ( --> [ ) |
||
⚫ | |||
[ |
[ switch.arg release ] is otherwise ( --> ) |
||
[ switch.arg share != iff ]else[ done |
|||
⚫ | |||
⚫ | |||
⚫ | |||
[ 1 counter tally counter share |
|||
tape share size = if |
|||
⚫ | |||
⚫ | |||
[ counter share 0 = iff |
|||
[ 0 tape take join tape put ] |
|||
⚫ | |||
[ dup 0 = iff [ 0 rot join swap ] else [ 1 - ] ] is stepleft ( [ n --> [ n ) |
|||
[ tape take counter share |
|||
⚫ | |||
⚫ | |||
[ tape take counter share |
|||
⚫ | |||
[ |
[ 2dup peek 1 - poketape ] is decrement ( [ n --> [ n ) |
||
⚫ | |||
[ |
[ temp take dup $ "" = iff 0 else behead |
||
⚫ | |||
tape take counter share |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
otherwise ( ignore ) ] ] |
|||
0 nested 0 rot quackery temp release 2drop ] is brainf*** ( $ $ --> )</lang> |
|||
{{out}} |
|||
[ input$ put |
|||
' [ 0 ] tape put 0 counter put |
|||
⚫ | |||
[ dup char > = iff |
|||
⚫ | |||
dup char < = iff |
|||
⚫ | |||
dup char + = iff |
|||
⚫ | |||
dup char - = iff |
|||
⚫ | |||
dup char . = iff |
|||
⚫ | |||
dup char , = iff |
|||
⚫ | |||
dup char [ = iff |
|||
⚫ | |||
⚫ | |||
dup char ] = iff |
|||
⚫ | |||
done |
|||
drop ] |
|||
quackery |
|||
' [ input$ tape counter ] |
|||
⚫ | |||
Testing <code>brainf***</code> in Quackery shell with Brainf*** code from [[Reverse a string#Brainf***]]. |
Testing <code>brainf***</code> in Quackery shell with Brainf*** code from [[Reverse a string#Brainf***]]. |