section
rcsinfo="$Header: /home/radek/cvs/forth-book/sec-dictionary_implementation.xml,v 1.5 2005/10/21 13:36:02 radek Exp $"
Odkazy a zdroje:
Základním kritériem podle kterého posuzujeme danou implementaci forthu je způsob implementace (organizace) slovníku slov. Rozeznáváme čtyři základní modely:
Tyto základní modely si dále popíšeme. Mimo ně existuje ještě řada, ne tolik významných modelů, či jejich modifikací. Zde uvedu aspoň jejich výčet, tak jak jsem je našel na Internetu, bez dalšího popisu.
STCI — Subroutine Threaded Code with Inlining
Native Code
BTC — Bit Threaded Code
Historicky nejstarším a původním modelem je nepřímo zřetezený kód. Jeho pochopení je důležité pro pochopení ostatních modelů ktere z něj vycházejí a různým způsobem rozšiřují.
Slovník sestává ze záznamů / definic jednotlivých slov. Tyto jsou za sebou lineárně uloženy v paměti. Jednotlivá slova mají dvě základní části: tělo a hlavičku.
+----------+----------+ | Hlavička | Tělo | +----------+----------+
Hlavička obsahuje jméno slova, jeden bajt s přiznaky a velikostí jména a jeden ukazatel na předchozí slovo ve slovníku. Tento ukazatel slouží k vyhledání počátku předcházejícího slova jenž by jinak nebylo možno nalézti postupujeme-li od posledně definovaného slova ke slovům dříve definovaným až slovům základním.
+-----+------+-------+ | flg | link | jméno | +-----+------+-------+
Bajt příznaků flg
obsahuje ve spodních bitech délku jména a horní bity jsou příznaky se speciálním významem. Bit b7
bývá 1. Následující hodnota má velikost ukazatele paměti, a ukazuje na předchozí slovo ve slovníku. Přesněji na jeho tělo, začátek těla. Za ní následuje jméno
slova v 7-bit ASCII kódování. Poslední písmeno má nastaven sedmý bit na 1.
Tělo pak obsahuje některé z následujících polí:
PF
ukazuje na toto pole, v případě vysokoúrovňových slov ukazuje na vstupní bod interpretu ENTRY
.