mirror of
https://git.sr.ht/~crc_/retroforth
synced 2024-11-16 19:48:56 +01:00
3f36e8a42d
FossilOrigin-Name: fd27b3b776ca6d506980a1de2c2235e074e2c8bb168e87fb040f80fb09a8f0b1
26 lines
926 B
Markdown
26 lines
926 B
Markdown
Most words in RETRO have a stack comment. These look like:
|
|
|
|
(-)
|
|
(nn-n)
|
|
|
|
As with all comments, a stack comment begins with ( and should end with
|
|
a ). There are two parts to the comment. On the left side of the - is
|
|
what the word *consumes*. On the right is what it *leaves*.
|
|
|
|
RETRO uses a short notation, with one character per value taken or left.
|
|
In general, the following symbols represent certain types of values.
|
|
|
|
b, n, m, o, x, y, z are generic numeric values
|
|
s represents a string
|
|
v represents a variable
|
|
p, a represent pointers
|
|
q represents a quotation
|
|
d represents a dictionary header
|
|
f represents a `TRUE` or `FALSE` flag.
|
|
|
|
In the case of something like: (xyz-m)
|
|
RETRO expects z to be on the top of the stack, with y below it and x below
|
|
the y value. And after execution, a single value (m) will be left on the
|
|
stack.
|
|
|
|
Words with no stack effect have a comment of (-)
|