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


Глава 5. Разработка: элементы Форт-стиля - часть 33


Если бы Форт был спроектирован каким-нибудь комитетом, мы бы его так не любили.

ЕЩЕ СОВЕТЫ ПО ЧИТАБЕЛЬНОСТИ

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

Всегда окупающей себя в большинстве задач константой является BL (код ASCII для "пробела").

Слово ASCII применяется, в основном, внутри определений через двоеточие для того, чтобы освобождать нас от необходимости знания численного значения символов ASCII. К примеру, вместо того, чтобы писать

: ( 41 WORD DROP ; IMMEDIATE

помня, что 41 - это код ASCII для закрывающей скобки, можно написать

: ( ASCII ) WORD DROP ; IMMEDIATE

Сделать работу с булевскими значениями более наглядной могут слова TRUE и FALSE (ИСТИНА и ЛОЖЬ). Эти добавления позволят Вам писать выражения типа

TRUE 'МАРКА? !

для установки флага, или

FALSE 'МАРКА? !

для его очистки.

(Когда-то я использовал T и F, но они мне нужны так редко, что теперь я осмотрительно придерживаюсь соглашения против сокращений.)

Частью Вашей задачи (не обязательно частью Вашей Форт-системы) может стать следующий шаг в развитии этой идеи:

: ON ( a) TRUE SWAP ! ; : OFF ( a) FALSE SWAP ! ;

Эти слова позволят Вам писать:

'МАРКА? ON

или

'МАРКА? OFF

Эти определения встречаются и под другими именами, типа SET и RESET (УСТАНОВИТЬ и СБРОСИТЬ), хотя обычно слова с такими именами используют маски для манипуляций отдельными битами.

Слово WITHIN (МЕЖДУ) также используется часто. Оно определяет, находится ли данное значение в интервале между двумя другими числами. Синтаксис его таков:

n lo hi WITHIN

Число "n" подлежит проверке, а "lo" и "hi" представляют диапазон. Слово WITHIN возвращает истину (TRUE), если "n" `больше или равно` "lo" и `меньше` "hi". Такое использование верхнего ограничителя (его исключение) соответствует аналогичному синтаксису циклов DO LOOP.

Мур рекомендует использовать слово UNDER+ (ПОД+).


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