Для определения новых слов служат два слова:
: {СЛОВО} ( --> ) Создает новую статью с именем СЛОВО и переводит в режим компиляции
; ( --> ) Заканчивает определение статьи, переводит в режим выполнения
Далее пример определения нового слова и его использования:
: ADD.
( n1 n2 --> ) ( Печать суммы двух чисел)
+ .
;
1 3 ADD.
5,1 6,3 ADD.
Результат:
4
11,4
Execute Ok!
Начало определения - двоеточие. Затем идет имя слова. Регистр имеет значение. Затем список слов. Завершается определение точкой с запятой. Не забываем про пробелы! Чтобы заново запустить данный скрипт, необходимо нажать кнопку Clear и затем - Execute. Clear очищает словарь. Если не очистить словарь, то попытка определить слово с тем же имене, что уже имеется в словаре, вызовет ошибку.
При нажатии Execute происходит следующее: система просматривает текст, выделяет слова по пробелам и атомы (числа и строки по двойным кавычкам). Сначала происходит попыска выделить атом - число или текст, заключенный в кавычки. Если выделен атом, система помещает его в стек. Если выделено слово, система идет в словарь ранее определенных слов, по имени находит его и запускает его на выполнение. Выполнив слово/атом, система выделяет из текста следующее слово/атом и так далее до конца текста. Как исполняется слово из словаря, будет расскажано далее. Этот режим называется режим исполнения.
Встретив : (двоеточие), система создает новую статью в словаре и переводит себя в режим компиляции. Статья - структура в оперативной памяти, состоящая из нескольких полей и списка кодов слов. В состав полей входит наименование, код слова, признак немедленного выполнения и некоторый служебные данные.
В режиме компиляции система транслирует следующие в тексте слова следующим образом. Выделив слово, ищет его по наименованию в словаре, определяет код и добавляет этот код в список кодов последнего созданного слова. Происходит это до тех пор, пока не встречается слово ; (точка с запятой). Встретив его и найдя его в словаре, система его выполняет, то есть переводит себя в режим выполнения. Выполняет оно слово ; потому, что оно имеет признак немедленного выполнения. Вообще можно определить слова, которые имеют признак немедленного выполнения и самому (см. IMMEDIATE). Во время компиляции это слово будет выполняться, а не компилироваться в текст последне-определенного слова.
Существует ряд запрограммированных слов. Они находятся в словаре, в тот же самый словарь компилируются и пользовательские слова.
Вообще, тема определяющих и помпилирующих слов в Форте достаточна сложна, обширна и очень интересна. К сожалению, чукча не писатель, чукча программист. За подробной информацией обращайтесь к более компетентным источникам. Данное описание лучше читать, уже познакомившись с фортом.