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


Глава 14. Память Форта. Словари и контекстные словари - часть 18


1 В русском языке трудно подобрать отличные друг от друга слова для DICTIONARY и VOCABULARY. Последнее переведено - контекстный словарь. - Прим. перев.

является стволом, а другие контекстные словари - ветвями, ведущими к стволу. Эта структура позволяет вам просмотреть или добавить любой контекстный словарь вне зависимости от того, где он размещен в словаре. Предположим,что вы определили слово, использующее мнемонику ассемблера со словом CODE (о программировании на Форт-ассемблере см.гл.16). Одним из действий CODE будет то, что контекстный словарь ASSEMBLER просматривается первым, так что мнемоника ассемблера, которая компилирует машинные коды, будет находиться в словаре прежде, чем распознаются любые другие слова с тем же именем. Это не только несколько ускоряет компиляцию программы на ассемблере, но имеет важное следствие, позволяющее словам с идентичными именами иметь разные функции в различных контекстных словарях. Какое "значение" имеет слово, когда определены несколько слов с одним и тем же именем, зависит от того, какое из них будет найдено первым; а это задается порядком, в котором просматриваются контекстные словари. Имеется несколько способов введения контекстных словарей, и фактически внутренние детали в различных реализациях могут варьироваться значительно. Все контекстные словари в конце концов связаны со словарем FORTH, но они могут быть связаны также друг с другом. Контекстные словари пользователя могут быть связаны непосредственно со стволом FORTH или образовывать цепочку веточка-ветка-ствол, согласно которой и происходит поиск. Порядок просмотра для простой структуры будет выглядеть так:

(1) Контекстный словарь -> : (2) Контекстный словарь -> : -> (4) Контекстный словарь FORTH (3) Контекстный словарь -> :

где числами (1) - (4) помечены альтернативы начальных точек просмотра словаря. Этот метод связи словарей встречается в некоторых реализациях Форта, но более сложные методы позволяют контекстным словарям образовывать цепи, как показано ниже: (1) Контекстный -->: словарь :-> (3) Контекстный --->: (2) Контекстный -->: :->(5) Контекстный словарь словарь FORTH (4) Контекстный словарь------------------> : где снова просмотр может начинаться в одной из точек, помеченных цифрами (1) - (5), но если первым просматривается контекстный словарь (1), то следующим перед FORTH будет словарь (3).


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