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


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


Сделайте FORTH контекстным словарем и повторите выдачу, Что получилось? 4. Попытайтесь выполнить A-LAST при контекстном словаре FORTH. Что получилось? Сделайте контекстным A-VOC и попытайтесь исполнить A-LAST снова. 5. Сделайте A-VOC контекстным словарем, опишите другой словарь B- VOC и добавьте несколько новых описаний, завершающихся словом B- LAST. Теперь посмотрите, можете ли вы исполнить A-LAST, находясь в B-VOC. Что говорит вам это о структуре контекстных словарей в вашем Форте? 6. Опишите еще одно слово с именем A-LAST в контекстном словаре B-VOC (используя B-VOC DEFINITIONS, чтобы быть уверенным, что вы пользуетесь нужным контекстным словарем). Как вы можете воспользоваться обеими версиями A-LAST?

Использование контекстных словарей

Существует несколько причин использования различных контекстных словарей, а не только FORTH. Во-первых, вы можете описать набор слов с идентичными именами, но с различными функциями, так что они не будут мешать друг другу. Это весьма удобно при написании Форт-ассемблера, так как вы можете описать слова, управляющие программой, для ассемблера, используя те же имена, что и в Форте, даже если их функции совершенно различны, т. е. при наличии отдельного контекстного словаря ASSEMBLER слова IP, ELSE, THEN и т.д. могут без каких-либо неопределенностей сосуществовать в общем словаре, имея те же имена, что и слова FORTH. Это позволяет сделать программирование на Форт-ассемблере во многом идентичным программированию на Форте. При использовании в определенных контекстных словарях слова, имеющие одинаковые имена, могут выполнять различную работу.

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


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



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