Jednoduché příklady | |||
Vstup z klávesnice | Výstupní odezva | Popis | |
(ENTER) | ok | řádkový interpret jazyka Forth odezvou „ok“ oznámí, že vstup z klávesnice byl vykonán vpořádku | |
4 (ENTER) | ok. | číslo 4 bylo uloženo do zásobníku, tečka za „ok“ znamená, že v zásobníku je právě jedno číslo | |
32 (ENTER) | ok.. | číslo 32 bylo uloženo do zásobníku, dvě tečky znamenají dvě čísla v zásobníku | |
8 (ENTER) | ok... | do zásobníku bylo vloženo třetí číslo (3 tečky) 8 | |
64 (ENTER) | ok.... | nyní je v zásobníku číslo 64 jako čtvrté | |
.S (ENTER) | [4] 4 32 8 64 ok.... | definované slovo „.S“ vypíše obsah zásobníku aniž by se cokoliv vymazalo | |
. (ENTER) | 64 ok... | vypíše číslo ve vrcholu zásobníku destruktivně (za „ok“ je o jednu tečku méně) | |
. (ENTER) | 8 ok.. | jako předešlý příkaz, ubude další číslo | |
+ (ENTER) | ok. | sečte zbylé dvě čísla a uloží do vrcholu zásobníku | |
.S (ENTER) | [1] 36 ok. | výsledek předešlé operace (32 + 4 = 36) | |
6 - (ENTER) | ok. | odečte 6 od čísla ve vrcholu zásobníku | |
.S (ENTER) | [1] 30 ok. | výsledek předešlé operace (36 - 6 = 30) | |
40 * .S (ENTER) | [1] 1200 ok. | číslem 40 vynásobí číslo ve vrcholu zásobníku a zároveň se vypíše výsledek | |
60 / .S (ENTER) | [1] 20 ok. | číslo ve vrcholu zásobníku se podělí 60 a vypíše se nedestruktivně výsledek | |
21 22 23 24 25 .S (ENTER) | [6] 20 21 22 23 24 25 ok...... | čísla oddělená mezerami se uloží do zásobníku a zobrazí se obsah zásobníku | |
ROT .S (ENTER) | [6] 20 21 22 24 25 23 ok...... | třetí prvek zásobníku rotuje do vrcholu zásobníku | |
DROP .S (ENTER) | [5] 20 21 22 24 25 ok..... | zruší prvek ve vrcholu zásobníku | |
2DROP .S (ENTER) | [3] 20 21 22 ok... | zruší první dva prvky zásobníku | |
DEPTH .S (ENTER) | [4] 20 21 22 3 ok.... | do vrcholu zásobníku uloží počet prvků zásobníku před tím to příkazem | |
2 DUP .S (ENTER) | [6] 20 21 22 3 2 2 ok...... | číslo 2 se uloží do vrcholu zásobníku a slovem „DUP“ se zdvojí | |
. . . (ENTER) | 2 2 3 ok...... | vypíše první tři prvky zásobníku destruktivně | |
2 PICK .S (ENTER) | [4] 20 21 22 20 ok.... | zdvojí n-tý (první je nultý tzn. třetí) prvek do vrcholu | |
SWAP .S (ENTER) | [4] 20 21 20 22 ok.... | zamění první dva prvky zásobníku | |
3 ROLL ROT .S (ENTER) | [4] 21 22 20 20 ok.... | 4. prvek rotuje do vrcholu a poté 3. | |
NEGATE + .S (ENTER) | [3] 21 22 0 ok... | „NEGATE“ obrátí znaménko vrcholu a následně se první dva prvky sečtou (20 + (-20) = 0) | |
MIN .S (ENTER) | [2] 21 0 ok.. | ponechá v zásobníku menší čísla než to které je největší (to zruší) | |
MAX .S (ENTER) | [1] 21 ok. | ponechá v zásobníku větší čísla než to které je nejmenší (to zruší) | |
DUP 1- 20 / SWAP 0 * AND .S (ENTER) | [1] 0 ok. | zdvojí prvek, odečte 1, dělí dvaceti, zamění první dva prvky, vynásobí 0, a provede operaci logický AND | |
0= .S (ENTER) | [1] -1 ok. | když prvek ve vrcholu je roven 0 vrátí true (-1) | |
0> .S (ENTER) | [1] 0 ok. | když prvek ve vrcholu je větší než nula vrátí true, pokud ne tak false (0) | |
: ObjemKomolehoKuzele ROT 314 * ROT ROT 2DUP * ROT ROT DUP * SWAP DUP * + + * 300 / . ; (ENTER) | ok | definování nového slova „ObjemKomoléhoKuzele“ | |
15 5 10 ObjemKomolehoKuzele (ENTER) | 2747 ok | použití nového slova pro výpočet objemu komolého kužele (15-výška, 5-podstava dolní, 10-podstava horní, Objem = 2747) | |
KEY .S EMIT (ENTER) | [1] 113 q ok | „KEY“ čeká na stisk klávesy, po zadání klávesy se do zásobníku uloží číslo představující stisknutý znak (113) a „EMIT“ vypíše znak „q“ odpovídající číslu 113 | |
slovo (ENTER) | Error: slovo is undefined | pokud slovo „slovo není předem definováno je vráceno chybové hlášení | |
Výpis z řádkového interpretu příkazů jazyka Forth (Win32Forth) | |||