40 lines
584 B
Plaintext
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
|