Начальный курс программирования на языке Форт


СЛОВАРЬ


Каждое слово (его имя и определение) заносится в так называемый словарь Форта. Этот словарь, когда вы начинаете писать на Форте, уже содержит какое-то количество слов, но вы можете помещать в него и «свои» слова. При определении нового слова оно переводится в словарную форму и добавляется в словарь. Такой процесс называется компиляцией.

К примеру, если вы вводите строку : STAR 42 ЕМIТ ;<return>

компилятор компилирует новое определение в словарь. Сам компилятор не выдает на печать звездочку.

(Не хотите ли вы уже сейчас посмотреть список слов, находящихся в словаре? В большинстве систем для этого нужно ввести слово WORDS, и тогда вы получите на экране имена слов вместе с их «адресами» (ссылками на участки памяти). Слова перечислятся в том порядке, в котором их определили — последнее определенное слово будет верхним. В некоторых, более старых системах для таких целей существует слово VLIST.)

Теперь слово STAR находится в словаре. А как выполняется слово, находящееся в словаре? Наберите непосредственно (не внутри определения) следующую строку: STAR 30 SPACES<return>

Эта строка активирует слово с именем INTERPRET, означающее «текстовый интерпретатор».

Текстовый интерпретатор просматривает входной поток символов в поисках строки символов, внутри которой нет пробелов. Если он находит такую строку, то он ищет ее в словаре.

Найдя нужное слово в словаре, интерпретатор передает его определение слову с именем EXECUTE1, которое выполняет это определение (в нашем случае оно инициирует печать звездочки). Интерпретатор вновь выдает вам ok.

1 Слово EXECUTE (ВЫПОЛНИТЬ) в одном из вариантов переводится как «казнить». Отсюда ассоциации с палачом. — Примеч. пер.

Если интерпретатор не находит такой строки в словаре, он обращается к обработчику чисел (NUMBER). Последний проверяет, не является ли переданная ему информация числом, и если это действительно так, помещает его в участок памяти, отведенный для чисел.




Начало  Назад  Вперед



Книжный магазин