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)