В более общей формулировке переменная представляет собой наименованную ячейку (адрес) памяти, которая может содержать число. Переменная в Форте- это слово, которое возвращает в стек адрес, по которому может храниться число. Для перемещения содержимого ячеек памяти, имеющих имя, в стек и обратно можно использовать слова @ (взять) и ! (занести), которые вам уже известны из гл.З. Мы рассмотрим сначала основные (но не самые удобные) способы для выполнения этих операций, а затем перейдем к более рациональным методам.
Создание переменных
Где можно надежно хранить переменные в памяти так, чтобы они случайным образом не изменились? Мы уже знаем, что Форт отводит часть памяти для своего словаря, в котором содержатся названия слов и их определения (в том смысле, что определения сообщают машине, какие операции она должна делать при исполнении каждого слова). Мы имеем возможность создавать в словаре слова, которые содержат числа. Когда такое слово исполняется, то единственное, что оно должно делать,- это помещать в стек адрес числа, которое оно содержит, что обеспечивает доступ к нему с помощью операторов ! и @.
Слово CREATE (создать) помещает на вершину словаря имя переменной и еще некоторую информацию (которая, например позволяет Форту искать в словаре другие слова).