Язык программирования Форт


Глава 11. Создание слов-определителей - часть 18


Таким образом, как 1 17 32 MAKEDO 1DO так и 2 3 4 15 16 22 33 40 MAKEDO 2DO являются одинаково правомерными определениями. При исполнении слова, определенного с помощью MAKEDO, вначале осуществляется очистка массива IMAGE, после чего производится произвольное размещение клеток в соответствии с заданным при компиляции слова-ребенка. Это первоначальное расположение клеток будет использовано для начала игры LINELIFE. Чтобы показать текущее расположение клеток, мы используем слово : SHOW-IMAGE *IMAGE LLEN 2 - -TRALING TYPE CR ;

Оно выводит LLEN байтов и делает возврат каретки. Теперь мы можем написать главное слово LINELIFE, которое показывает текущее состояние массива IMAGE (которое также порождено словом MAKEDO) и производит расчеты для неопределенного количества поколений, основываясь на начальном размещении клеток и правилах игры. Это слово определяется следующим образом: : LINELIFE CR BEGIN CALCULATE MAKE-IMAGE SHOW-IMAGE 0 UNTIL ; и может быть использовано в форме 1DO LINELIFE, 2DO LINELIFE и т.д. Несмотря на то, что программа LINELIFE сравнительно простая (и не столь интересная, как настоящая программа игры "Жизнь"), она дает нам возможность необычного использования определяющих слов в практических целях. Благодаря тому, что слово MAKEDO может обращаться с любым числом позиций в стеке при компиляции производных слов, нам удалось обойтись без редактора, необходимого для задания первоначального расположения клеток, которое требуется для начала игры LINELIFE. Слова, порождаемые MAKEDO, позволяют очень просто запоминать исходное состояние клеток для последующих проходов игры.

Прикладная программа на языке ФОРТ для сбора данных

Одной из наиболее важных областей применения Форта является взаимодействие с внешними устройствами компьютера. В нашем заключительном примере мы покажем использование конструкции CREATE... DOES> для облегчения сбора и анализа данных в реальном масштабе времени с помощью компьютера. Этот пример был взят из практического применения Форта одним из авторов в его исследовательской работе.


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