Способ мышления-Форт


Глава 7. Работа с данными: стеки и состояния - часть 24


На рисунке 7-7 эта точка показана с использованием иллюстрации состояния словаря.

Рис.7-7. Слова DOER и MAKE.

DOER ДЖО ok +--------+ ~~~ | ДЖО | +--------+ Создает слово-DOER с именем ДЖО, которое ничего не делает.

: ТЕСТ MAKE ДЖО 1 . ; ok +--------+ ~~~ | ДЖО | +--------+ +--------+--------+--------+--------+--------+--------+ | ТЕСТ | MAKE | ДЖО | 1 | . | ; | +--------+--------+--------+--------+--------+--------+ Определяет новое слово с именем ТЕСТ.

ТЕСТ ok +--------+ ~~~ | ДЖО |---------------------- +--------+ \/ +--------+--------+--------+--------+--------+--------+ | ТЕСТ | MAKE | ДЖО | 1 | . | ; | +--------+--------+--------+--------+--------+--------+ MAKE перенаправляет ДЖО таким образом, что оно указывает на код после выражения MAKE ДЖО, а затем прекращает исполнение остальной части слова ТЕСТ.

ДЖО 1 ok ~~~~~ Исполняет код, на который указывает ДЖО ( 1 . ). - 230 -

Если Вы хотите `продолжить` исполнение, то можете использовать вместо точки с запятой слово ;AND. Слово ;AND завершает код, на который направляется слово-DOER и производит исполнение определения, в котором оно применяется, как показано на рис. 7-8. Наконец, можно связывать `цепи` слов-DOERов при помощи `не` использования слова ;AND. Рисунок 7-9 это поясняет лучше, чем мне удалось бы это описать.

Рис.7-8. Несколько слов MAKE, параллельно использующих ;AND.

DOER СЭМ ok ~~~ DOER БИЛЛ ok ~~~ +--------+ +--------+ | СЭМ | | БИЛЛ | +--------+ +--------+ Создание двух слов типа DOER, которые ничего не делают.

: ТЕСТБ MAKE СЭМ 2 . ;AND MAKE БИЛЛ 3 . ; +-------+------+-----+---+---+------+------+------+---+---+---+ | ТЕСТБ | MAKE | СЭМ | 2 | . | ;AND | MAKE | БИЛЛ | 3 | . | ; | +-------+------+-----+---+---+------+------+------+---+---+---+ Определение нового слова по имени ТЕСТБ.

ТЕСТБ ok ~~~ +--------+ +--------+ | СЭМ |-------- | БИЛЛ | +--------+ \/ +--------+ +-------+------+-----+---+---+------+------+------+---+---+---+ | ТЕСТБ | MAKE | СЭМ | 2 | . | ;AND | MAKE | БИЛЛ | 3 | . | ; | +-------+------+-----+---+---+------+------+------+---+---+---+ Первый MAKE перенаправляет СЭМа так, чтобы тот показывал на код после него... +--------+ +--------+ | СЭМ |-------- | БИЛЛ |--------------- +--------+ \/ +--------+ПРОДОЛЖЕНИЕ \/ +-------+------+-----+---+---+------+------+------+---+---+---+ | ТЕСТБ | MAKE | СЭМ | 2 | . | ;AND | MAKE | БИЛЛ | 3 | . | ; | +-------+------+-----+---+---+------+------+------+---+---+---+ слово ;AND продолжает исполнение ТЕСТБ.


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