1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
|
specified object.
=== Block instructions ===
These are block flow controls. They include bodies of other instructions.
begin <body> again ( -- )
Executes <body> an unlimited number of times; it will only stop once some
command inside of the loop jumps out, returns, or results in an error.
begin <body> until ( -- ) ( bool -- )
Executes <body>, and then pops one boolean from the stack; if false, then it
will be repeated, but if true then it stops.
|
>
>
>
>
|
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
|
specified object.
=== Block instructions ===
These are block flow controls. They include bodies of other instructions.
and <body> then ( any -- any )
Takes a value from the stack. If it is false, leaves it there and skips the
body, otherwise removes it and executes the body.
begin <body> again ( -- )
Executes <body> an unlimited number of times; it will only stop once some
command inside of the loop jumps out, returns, or results in an error.
begin <body> until ( -- ) ( bool -- )
Executes <body>, and then pops one boolean from the stack; if false, then it
will be repeated, but if true then it stops.
|
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
|
otherwise it tries the other parts; "else" means always do this if none of
the previous parts match.
mbegin <body> repeat ( -- any ) ( -- )
The "mbegin" instruction is a shortcut for "begin tmark while", and it has
the same behaviour.
=== Case blocks ===
A case block consists of (case) with the cases listed inside of the () after
the word "case". Each case consists of two tokens inside of their own
parentheses. The first token may be any one of:
|
>
>
>
>
|
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
|
otherwise it tries the other parts; "else" means always do this if none of
the previous parts match.
mbegin <body> repeat ( -- any ) ( -- )
The "mbegin" instruction is a shortcut for "begin tmark while", and it has
the same behaviour.
or <body> then ( any -- any )
Takes a value from the stack. If it is true, leaves it there and skips the
body, otherwise removes it and executes the body.
=== Case blocks ===
A case block consists of (case) with the cases listed inside of the () after
the word "case". Each case consists of two tokens inside of their own
parentheses. The first token may be any one of:
|