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


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


Хотя стандарты и не требуют наличия FENCE, эта переменная удобна для предотвращения потенциально катастрофических ошибок. Хотя мы описали большинство наиболее употребляемых структур словарей, могут использоваться и другие структуры. Применение контекстных словарей в Форте находится в процессе изменения (как и некоторые другие части языка). Существует несколько хороших способов определить выборочный поиск в секции словаря, каждый со своими преимуществами и недостатками. Например, Форт-83 имеет экспериментальное предложение разрешить управление порядком поиска путем декларации, а не во время компиляции. Манипулирование контекстными словарями в основном весьма просто; это делается тремя словами: VOCABULARY, DEFINITIONS и FORGET, а так же именами индивидуальных контекстных словарей. В заключение: 1. VOCABULARY (имя) создает контекстный словарь с именем (имя). 2. (имя) делает (имя) контекстным словарем (т.е. поиск начнется с него). 3. (имя) DEFINITIONS делает (имя) текущим словарем, в который добавляются новые описания. 4. FORGET (имя) удаляет (имя) и все слова, описанные после (имя), если (имя) принадлежит к текущему словарю.

Главные ограничения контекстных словарей связаны с тем, что они могут приводить к путанице (в особенности когда связаны друг с другом) и к тому, что порядок поиска не может быть изменен, если исходный текст откомпилирован. Большинство программистов старается как можно меньше использовать контекстные словари, но, как мы увидим в следующем разделе, даже с учетом перечисленных ограничений словари могут быть вполне полезными.

Упражнения

1. Ваш Форт, вероятно, имеет слово (называемое иногда VLIST, CATALOG или WORDS) для выдачи списка слов в контекстном словаре. Как вы можете просмотреть слова всех контекстных словарей в вашем Форте? Как вы думаете указанные выше операторы находят слова, которые отображают? 2. Опишите новый контекстный словарь с именем A-VOC. Опишите четыре слова в словаре A-VOC, чтобы печатать некоторые фразы, и присвойте имена с префиксом А-, последнее слово должно иметь имя A-LAST. 3.Отпечатайте список слов в A-VOC, которые вы описали.


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