Standardní definovaná slova
Mezi standardní definovaná slova dále patří
např.:
DUP ( x – x x ) |
Zdvojí prvek ve
vrcholu zásobníku |
DROP ( x – ) |
Zruší prvek ve
vrcholu zásobníku |
SWAP ( x1 x2 – x2
x1 ) |
Zamění dva horní
prvky v zásobníku |
OVER ( x1 x2 – x1
x2 x1 ) |
Vytvoří kopii
druhého prvku do vrcholu zásobníku |
ROT ( x1 x2 x3 –
x2 x3 x1 ) |
Třetí prvek
zásobníku rotuje do vrcholu |
PICK ( n – x ) |
Zdvojí n-tý prvek
zásobníku do vrcholu ( 0 PICK má stejný efekt jako DUP) |
ROLL ( n – ) |
Zamění prvek ve
vrcholu n-tým prvkem (1 ROLL má stejný efekt jako SWAP, 2 ROLL jako ROT) |
?DUP ( x – x
x ) nebo ( 0 – 0 ) |
Podmíněné DUP.
Použití např.: ?DUP IF ... THEN |
>R ( x – ) |
Přesune prvek z
vrcholu zásobníku do návratového zásobníku pro dočasné uložení |
R> ( – x ) |
Z návratového
zásobníku obnoví prvek do vrcholu zásobníku |
R@ ( – x ) |
Zkopíruje prvek z
vrcholu návratového zásobníku do vrcholu datového zásobníku |
DEPTH ( – +n ) |
Vrátí počet prvků v
zásobníku |
Příklad aritmetických operátorů:
+ ( n1 n2 – n3 ) |
Sečte n1 a n2 a oba
prvky jsou následně v zásobníku nahrazeny výsledkem n3 |
D+ ( d1 d2 – d3 ) |
Sečte dvě double
(32-bitová) čísla „d-plus“ |
- ( n1 n2 – n3 ) |
Odečte n2 od n1 a
oba prvky jsou následně zv zásobníku nahrazeny výsledkem n3 |
1+ ( n – n+1 ) |
Přičte jedničku
k n „1-plus“ |
1- ( n – n-1 ) |
Odečte jedna od
n „1-minus“ |
2+ ( n – n+2 ) |
Přičte 2 k n
„2-plus“ |
2- ( n – n-2 ) |
Odečte 2 od n
„2-minus“ |
* ( n1 n2 – n3 ) |
Vynásobí n1 a n2 |
/ ( n1 n2 – quot
) |
Dělení, kde záleží
na znaménku, vrací kvocient |
MAX ( n1 n2 – n3
) |
n3 je větší z
n1 a n2 |
MIN ( n1 n2 – n3
) |
n3 je menší z
n1 a n2 |
NEGATE ( n1 – n2
) |
Obrátí znaménko |
Příklad logických operátorů:
NOT ( x1 – x2 ) |
Logická negace |
AND ( x2 – x3 ) |
Logické AND |
OR ( x2 – x3 ) |
Logické OR |
XOR ( x2 – x3 ) |
Logické XOR |
Příklad srovnávacích operátorů:
< ( n1 n2 –
příznak ) |
True když n1 je
menší než n2 „menší než“ |
= ( n1 n2 –
příznak ) |
True když n1 je
rovno n2 |
> ( n1 n2 –
příznak ) |
True když n1 je
větší než n2 „větší než“ |
0< ( n –
příznak ) |
True když n je
menší než nula |
0= ( n – příznak
) |
True když n je
rovno nule |
0> ( n –
příznak ) |
True když n je větší
než nula |
Podmíněné příkazy, příkazy cyklu, větvení:
IF true-body THEN |
V případě pravdivého
příznaku je vykonáno tělo |
IF true-body ELSE
false-body THEN |
Obdobně, v případě
že podmínka není splněna vykoná se kód false-body |
DO loop-body LOOP |
Příkaz cyklu, index
cyklu je po každém průchodu ponížen o 1 |
DO loop-body +LOOP |
Příkaz cyklu, index
cyklu je ponížen o hodnotu čísla ve vrcholu zásobníku |
BEGIN loop-body
UNTIL |
Příkaz cyklu |
BEGIN loop-body
WHILE true-body REPEAT |
Příkaz cyklu |
CASE ( value - )
... ENDCASE |
Větvení |