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

         

ЕЩЕ РАЗ О СЛОВАРЕ


Поработав с настоящим компьютером, вы, возможно, сделали бы для себя кое-какие открытия, о которых еще не упоминалось.

Открытие первое: вы можете дать одному и тому же слову несколько определений, приписывая ему всякий раз новый смысл, но выполняться будет только последнее определение.

Например, если вы определили слово ВСТРЕЧА:: ВСТРЕЧА . " Привет. Я говорию на форте. " ; _ок

то при его выполнении получите следующий результат:ВСТРЕЧА привет. Я говорю на Форте. ок

Но если вы переопределите это слово: : ВСТРЕЧА ." Алло, я слушаю вас! " ; ок

то при его выполнении сработает более позднее определение: ВСТРЕЧА Алло, я слушаю вас. ок

Исчезло ли первое определение ВСТРЕЧА? Нет, оно сохранилось, но текстовый интерпретатор всегда начинает просмотр словаря с конца с элемента, занесенного в словарь последним. Из нескольких определений с одним и тем же именем интерпретатор передает слову EXECUTE первое встретившееся. Вы можете убедиться в том, что прежнее определение ВСТРЕЧА все еще находится в словаре. Для этого наберите на клавиатуре FORGET ВСТРЕЧА ок

и ВСТРЕЧИ Привет. Я говорю на Форте, ок

(Действует снова старое определение!)

Слово FORGET (ЗАБЫТЬ) ищет указанное слово в словаре и удаляет из словаря (это его основная функция) само слово, а также все то, что вы успели определить после него. FORGET, как и интерпретатор, начинает свой поиск с конца: он удаляет только последний вариант определения данного слова (вместе со всеми словами, специфицированными после него). Поэтому теперь, если вы наберете на клавиатуре слово ВСТРЕЧА, интерпретатор найдет первоначальное слово ВСТРЕЧА. FORGET — очень полезное слово. Оно помогает вам очищать ваш словарь во избежание его переполнения. (Словарь занимает память, а мы должны ее экономить.)

Открытие второе: если вы вводите определение с помощью клавиатуры (как вы сейчас это делаете), то исходный текст1 его не сохраняется.

1 Для начинающих. Исходным текстом называется текстовый вариант определения, например:

: ПЛЮС-ЧЕТЫРЕ ( n — n+4) 4 + ;

Этот первоначальный, исходный, вариант преобразуется в словарную форму и становится элементом словаря.

В словаре запоминается только скомпилированная форма вашего определения. А как быть, если вы захотите внести изменение в уже определенное слово? Вы должны повторно набрать полностью все определение, внеся в него соответствующие изменения. Это может показаться вам достаточно утомительным, не так ли? И даже хуже:

Открытие третье: если вы выключите компьютер, а затем снова включите его, то все набранные вами определения исчезнут.

Очевидно, что необходим какой-то способ запоминания исходного текста с тем, чтобы его можно было изменять и перекомпилировать в любое время. Здесь-то и приходит вам на помощь редактор. Он позволяет запомнить ваш исходный текст на диске. Поэтому давайте выясним, что представляет собой диск и как Форт-система работает с ним.



Содержание раздела