RosettaCodeData/Task/Stack/Tailspin/stack.tailspin

40 lines
584 B
Plaintext

processor Stack
@: $;
sink push
..|@Stack: $;
end push
source peek
$@Stack(last) !
end peek
source pop
^@Stack(last) !
end pop
source empty
$@Stack::length -> #
<=0> 1 !
<> 0 !
end empty
end Stack
def myStack: [1] -> Stack;
2 -> !myStack::push
'$myStack::empty; $myStack::pop;
' -> !OUT::write
'$myStack::empty; $myStack::pop;
' -> !OUT::write
'$myStack::empty;
' -> !OUT::write
3 -> !myStack::push
'$myStack::empty; $myStack::peek;
' -> !OUT::write
'$myStack::empty; $myStack::pop;
' -> !OUT::write
'$myStack::empty;' -> !OUT::write