3.2. Zásobník dat

rcsinfo="$Header: /home/radek/cvs/forth-book/ch-tutorial.xml,v 1.6 2005/10/20 05:33:42 radek Exp $"

Abychom pochopili, jak pracuje forth s daty musíme si nejdříve něco povědět o zásobníku dat. Zásobník je struktura v paměti ke které se přistupuju jen z jednoho konce. Na zásobník se můžeme dívat jako na sloupeček čísel. Nová pokládáme na vršek a chceme-li nějaká odstranit musíme postupně odebírat shora.

Abstrakt

Povídání o kořenech forthu, zásobníku a RPN.

Zásobník je základí paměťová struktura forthu. Kolem něj se všechno točí, čísla se ukládají na zásobník, návratové adresy podprogramů se ukládají na zásobník návratových adres a slovník má také charakter zásobníku.

Zásobník je paměťová struktura FIFO, tedy poslední objekt který na vrchol zásobníku uložíme, odebíráme jako první. Zásobník si můžeme představit jako stožek listů. Vždy když chceme do zásobníku něco uložit, napíšeme to na volný list papíru a položíme na vrchol našeho stožku, zásobníku. Ze zásobníku můžeme odebírat listy jedině shora a v pořadí.

Zásobník tedy implementuje dvě základní operace

ulož číslo

která složí k uložení čísla na vrchol zásobníku

odeber

která slouží k odebrání čísla z vrcholu zásobníku

Pro odkazování se na hodnoty v zásobníku se používají tyto zkratky

TOS

Top of Stack -- Vrchol zásobníku, číslo na vrcholu zásobníku.

NOS

Next on Stack -- Následující pod vrcholem zásobníku.

NNOS

Následující pod NOS

Jednoduše namalováno to vypadá takto

|       |
| volno |
|       |
+-------+
|  TOS  |  vrchol zásobníku
+-------+
|  NOS  |
+-------+
|  NNOS |
+-------+
| data  |
   ... 
|       |  dno zásobníku
+-------+