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



Виды твердотопливных котлов для отопления частного. |

Приложение А: Обзор Форта (для новичков) - часть 2


VARIABLE использется так:

VARIABLE БАНАНЫ

Создается место (ячейка) в памяти, идентифицируемое именем БАНАНЫ. Получение содержимого этой области памяти - это задача слова @ (произносится "разыменовать" или "взять"). К примеру,

БАНАНЫ @

достает содержимое переменной БАНАНЫ. Его антонимом является слово ! (произносится "загрузить" или "записать"), которое загружает число в ячейку памяти, типа

100 БАНАНЫ !

В Форте есть также слово для увеличения текущего содержимого на заданное число; например, фраза

2 БАНАНЫ +!

увеличивает счетчик на два, делая его равным 102. В Форте есть и много других операторов для структур данных но, что более важно, в нем содержатся также инструменты, нужные программисту для создания структур данных любого типа, требуемого в задаче.

СТЕК.

В Форте переменные и массивы служат для сохранения значений, которые могут быть нужны для множества программ и/или в непредсказуемые моменты времени. Они `не` используются для локальной передачи данных между определениями. Для этого Форт применяет гораздо более простой механизм: стек данных. - 281 -

Когда Вы набираете число, оно кладется на стек. Когда Вы вызываете слово, имеющее числовой аргумент, то оно забирает его со стека. Так, фраза

17 SPACES

выдаст семнадцать пробелов на текущее устройство вывода. "17" кладет на стек двоичный эквивалент числа 17; слово SPACES его употребляет. Константа также кладет на стек свое значение; так, фраза

СЕМНАДЦАТЬ SPACES

дает тот же эффект. Стек работает на основе принципа "последним вошел - первым вышел" (LIFO). Это значит, что данные могут передаваться между словами упорядоченным, модульным образом, соответствующим вложенности определений через двоеточие. К примеру, определение по имени ОСЬ могло бы вызывать фразу 17 SPACES. Это временное использование стека будет незаметно для любого другого определения, вызывающего ОСЬ, поскольку число, положенное на стек, снимается с него до того, как заканчивается определение слова ОСЬ.


Содержание  Назад  Вперед