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


ЗАГРУЗКА ПРОГРАММ


Как вы уже знаете, процесс кодирования может потребовать неоднократной повторной загрузки одного и того же блока или блоков. Но учтите: всякий раз, производя загрузку определений, вы увеличиваете размеры вашего словаря.

Допустим, вы загружаете несколько раз некоторый блок, изменяя в нем по одному определению. В результате ваш словарь будет содержать по варианту каждого слова данного блока для каждой загрузки. Простейший способ избежать этого состоит в применении слова FORGET. Например, если вы только что внесли исправления в определение слова F в блоке 50 и хотите вновь загрузить последний, то вы должны набрать на клавиатуре следующее:

FORGET STAR ok

50 LOAD ok

Помните, что слово FORGET забывает само указанное слово и все, что было определено после него.

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

зволяющие использовать эту программу в одном случае для обработки корреспонденции, в другом — для работы с журнальными статьями, а в третьем —для обработки адресных наклеек.

 

В Форте три перечисленных варианта фрагментов называются оверлейными структурами, так как они при исполнении не пересекаются и взаимозаменяемы в памяти. Рассмотрим их более подробно.

Последнее определение основы программы должно содержать только имя, например: : VARIATIONS ;

Это определение называется нулевым, поскольку оно всего лишь отмечает место в вашем словаре. Включите в начало каждого альтернативного фрагмента выражение FORGET VARIATIONS : VARIATIONS ;

С помощью FORGET каждый раз при загрузке любого из альтернативных фрагментов система забывает все определения начиная с конца словаря до нашего нулевого определения и вновь компилирует нулевое определение, а затем определения, относящиеся к данному фрагменту. Загружая другой фрагмент, вы тем самым замещаете первый оверлейный сегмент вторым2.




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