Symbol |
Function |
Description |
<blank> |
- |
No action. |
$ |
Program terminator. |
Exit. |
<number> |
Number. |
Push a number onto the stack. |
+ |
Add. |
Pop two operands from the stack and push their sum. |
- |
Subtract. |
Pop two operands from the stack and push their difference. |
* |
Multiply. |
Pop two operands from the stack and push their product. |
/ |
Divide. |
Pop two operands from the stack and push their quotient. |
\ |
Remainder. |
Pop two operands from the stack and push the remainder of the first divided by the second. |
? |
Input number. |
Read a number from the keyboard and push it onto the stack. |
?' |
Input character. |
Read a character from the keyboard and push its ASCII code onto the stack. |
! |
Output number. |
Pop a number from the stack and display it on the terminal. |
!' |
Output character. |
Pop an ASCII code from the stack and display the corresponding character on the terminal. |
'<char> |
Character literal. |
Push the ASCII code corresponding the the character onto the stack. |
" |
Output string. |
Display each character between the " and the next " on the terminal.
Translate the character ! to <new-line>. |
<letter> |
Variable. |
Convert the letter to an integer in the range 0..25 (A=a=0, B=b=1,...,Z=z=25). |
: |
Assignment. |
Pop two operands from the stack and store the value of the second at the address
specified by the first. |
. |
Dereference. |
Pop an address from the stack and push the value stored at that address onto the stack. |
< |
Comparison. |
Pop two operands from the stack. If the first is less than the second, push 1, else push 0 onto the stack. |
= |
Comparison. |
Pop two operands from the stack. If they are equal, push 1, else push 0 onto the stack. |
> |
Comparison. |
Pop two operands from the stack. If the first is greater than the second, push 1, else push 0 onto the stack. |
[ |
Conditional. |
Pop a value from the stack. If it is zero or negative, skip over the character until a matching ] is found. |
] |
- |
No action. |
( |
Start loop. |
No action. |
) |
Go back to top of loop. |
Go back to top of loop. |
^ |
Exit loop. |
Exit loop. |
#<letter> |
Macro call. |
Macro call. |
@ |
Exit from macro. |
Exit from macro. |
% |
Replace formal parameter by actual. |
Replace formal parameter by actual. |
, |
End of actual parameter. |
End of actual parameter. |
; |
End of actual parameter. |
End of actual parameter. |
{ |
Switch on tracing. |
Switch on tracing. |
} |
Switch off tracing. |
Switch off tracing. |
~ |
Comment. |
Start of comment. |