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


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


Следующий MAKE перенаправляет БИЛЛа.

СЭМ 2 ok ~~~~~ БИЛЛ 3 ok ~~~~~ - 231 -

Два слова-DOERа были переустановлены одновременно единственным словом ТЕСТБ. Код для СЭМа заканчивается по ;AND, код БИЛЛа заканчивается точкой с запятой.

Рис.7-9. Последовательное использование нескольких MAKE.

: ТЕСТВ MAKE ДЖО 4 . MAKE ДЖО 5 . ; ok ~~~ +-------+------+-----+---+---+------+-----+---+---+---+ | ТЕСТВ | MAKE | ДЖО | 4 | . | MAKE | ДЖО | 5 | . | ; | +-------+------+-----+---+---+------+-----+---+---+---+ Определение нового слова с именем ТЕСТВ.

ТЕСТВ ok ~~~ +-----+ | ДЖО |-------------- +-----+ \/ +-------+------+-----+---+---+------+-----+---+---+---+ | ТЕСТВ | MAKE | ДЖО | 4 | . | MAKE | ДЖО | 5 | . | ; | +-------+------+-----+---+---+------+-----+---+---+---+ MAKE перенаправляет ДЖО на код после MAKE ДЖО.

ДЖО 4 ok ~~~~~ \/ +-------+------+-----+---+---+------+-----+---+---+---+ | ТЕСТВ | MAKE | ДЖО | 4 | . | MAKE | ДЖО | 5 | . | ; | +-------+------+-----+---+---+------+-----+---+---+---+ Исполнение кода, на который указывает ДЖО ( 4 . MAKE ...) +-----+ | ДЖО |----------------------------------- +-----+ \/ +-------+------+-----+---+---+------+-----+---+---+---+ | ТЕСТВ | MAKE | ДЖО | 4 | . | MAKE | ДЖО | 5 | . | ; | +-------+------+-----+---+---+------+-----+---+---+---+ После исполнения 4 . следующий MAKE перенаправляет ДЖО так, чтобы он показывал на пятерку. (Не было ;AND чтобы его остановить.)

ДЖО 5 ok ~~~~~ +-------+------+-----+---+---+------+-----+---+---+---+ | ТЕСТВ | MAKE | ДЖО | 4 | . | MAKE | ДЖО | 5 | . | ; | +-------+------+-----+---+---+------+-----+---+---+---+ Вводя ДЖО второй раз, получаем исполнение кода, на который он теперь указывает ( 5 . ). Здесь указатель и останется. - 232 -

ИСПОЛЬЗОВАНИЕ DOER/MAKE ~~~~~~~~~~~~~~~~~~~~~~~ Есть множество случаев, для которых конструкция DOER/MAKE доказала свою полезность. Вот они:

1. Для изменения состояния функции (когда внешняя проверка этого состояния необязательна). Слова ЛЕВОЕ-КРЫЛО и ПРАВОЕ-КРЫЛО изменяют состояние слова ПЛАТФОРМА. 2.


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