Язык программирования Форт


Язык программирования Форт

Рис. 5.5. Древовидная структура словаря

В момент компиляции анализируется входной поток, и в такт появления слова во входном потоке создается или абсолютная секция кода исполняемого, или создаются определения новых слов. Определение новых слов выглядит следующим образом:

: <имя> <слово>…<слово> ;

Имя – определяемое слово языка, слова – список слов, которые определены раньше и хранятся в древовидной структуре словаря. Эти слова определяют новое слово – имя, и должны быть исполнены, если в тексте встретится это слово.

Базовые слова:

1. Операции над стеком

SWAP nm®mn

DUP n®nn

DROP nm®n

OVER nm®nmn

2. Операции работы с памятью

@ a®m(a) по адресу а, находящемуся на вершине стека, читается содержимое

! na® слово n записывается в память по адресу a.

3. Логические операции

NOT n®n

AND nm®p

XOR nm®p

OR nm®p

4. Операции над целыми числами

+, -, *, /, MOD, ABS, MIN, MAX, MINUS

5. Управляющие конструкции

IF XXX ELSE YYY

THEN ZZZ

Если на вершине стека истина, то выполняется XXX, иначе YYY, в любом случае – ZZZ.

BEGIN XXX

WHILE YYY REPEAT

Тело цикла XXX исполняется всегда, YYY вычисляет условие завершения.

6. Стек адресов возврата

>R из стека операндов слово переносится в стек адресов возврата

R> из стека адресов возврата слово переносится в стек операндов

R слово из адресов возврата копируется в стек операндов

Структура вычислительного механизма

Рис. 5.6. Структура вычислительного механизма

Вычислительный механизм

Рис. 5.7. Вычислительный механизм

Загрузка...