Начальный курс программирования на языке Форт


ВЕКТОРНЫЕ ВЫЧИСЛЕНИЯ


Векторное вычисление, хотя и воспринимается как нечто трудоемкое, на самом деле осуществляется довольно просто. Вместо того чтобы выполнять какое-либо определение непосредственно (см. выражение ' ВСТРЕЧА EXECUTE), мы выполняем его косвенно, запоминая адрес определения в некоторой переменной, а затем выполняя содержимое этой переменной:VARIABLE УКАЗАТЕЛЬ ( участок для хранения исполнительного вектора) ' ВСТРЕЧА УКАЗАТЕЛЬ ! ( указатель ссылается на слово ВСТРЕЧА ) УКАЗАТЕЛЬ @ EXECUTE ( выполнение фрагмента, на который ссылается УКАЗАТЕЛЬ).

(Для вычисления адреса, который засылается в УКАЗАТЕЛЬ, примените соответствующее выражение из столбца 1 приведенной выше таблицы). В ряде систем есть слово @EXECUTE, которое эквивалентно выражению "@  EXECUTE", но выполняется более эффективно.

Вы Можете попытаться сделать следующий пример самостоятельно: 1 VARIABLE 'ФРАЗА ( вектор) 2 : ФРАЗА 'ФРАЗА @ EXECUTE ; ( векторизуемое определение) 3 : ПРИВЕТ ." Привет " ; 4 : ДО-СВИДАНИЯ ." До свидания " ; 5

6 ' ПРИВЕТ 'ФРАЗА ! ( инициализация вектора)

В строке 1 вы определяете переменную с именем 'ФРАЗА. Она будет вашим указателем. В строке 2 специфицируется слово ФРАЗА для выполнения определения, адрес которого находится в указателе 'ФРАЗА. В строках 3 и 4 создаются слова, выводящие сообщения: «Привет» и «До свидания». В строке 6 вы загружаете адрес слова ПРИВЕТ в указатель 'ФРАЗА по правилам, изложенным в столбце 1 вышеприведенной таблицы.

Теперь если выполнить слово ФРАЗА, то получится следующее: ФРАЗА Привет ok

Если вы альтернативно выполните выражение ' ДО-СВИДАНИЯ 'ФРАЗА !

тем самым запомнив адрес ДО-СВИДАНИЯ в переменной 'ФРАЗА, то результат будет таким:

ФРАЗА До свидания

ok

Апостроф в имени ' ФРАЗА означает, что данное имя является указателем при векторном вычислении - таковы соглашения в Форте. Так как апостроф при выполнении выдает адрес, то префикс соответствует адресу слова ФРАЗА.

Мы можем заставить само слово ФРАЗА выполнять все, что захотим, даже слова (ПРИВЕТ и ДО-СВИДАНИЯ), которые определены после слова ФРАЗА.


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