Учебное пособие по языку ФОРТ

ИТФ «Технофорт»
100
10
(1 голос)
0 0

Аннотация: Язык программирования Форт (от английского FORTH) был изобретен Чарльзом Муром в 70-x годах для создания программного обеспечения управляющих устройств. В настоящее время Форт широко используется при решении следующих задач:

Книга добавлена:
23-10-2022, 00:43
0
320
21
Учебное пособие по языку ФОРТ

Читать книгу "Учебное пособие по языку ФОРТ"



20. Переменные типа "QUAN" и "VECT"

Переменная типа "QUAN" отличается от стандартной переменной типа "VARIABLE" тем, что объединяет свойства константы и переменной. При исполнении переменная типа "VARIABLE" оставляет на стеке адрес ячейки, в которой хранится ее значение. Но этот адрес обычно используется либо для получения самого значения с помощью слова "@", либо для засылки в переменную нового значения с помощью слова "!". Так вот слово "QUAN" создает переменную, исполнение имени которой в зависимости от контекста имеет один из трех результатов: получение текущего значения, засылка нового значения и получение адреса значения.

Переменная типа "QUAN" определяется следующим образом:

QUAN имя

Слово "IS", употребленное перед именем переменной, засылает в переменную новое значение, взятое с вершины стека.

Слово "AT", употребленное перед именем переменной, записывает в стек адрес ее значения.

Слова "IS" и "AT" назовем префиксами к имени переменной.

При использовании имени переменной без префиксов на стек будет помещено ее текущее значение (свойство константы). Заметим, что использование "чистого" имени эквивалентно: AT имя @ a засылка при помощи "IS" эквивалентна выражению: AT имя !

Слово для реализации переменной типа "QUAN" имеет три поля кода:

1. поле кода для получения значения (2/3 байта)

2. поле кода для засылки значения (2/3 байта)

3. поле кода для получения адреса значения (2/3 байта)

4. значение переменной (2 байта)

Длина поля кода зависит от типа шитого кода, но в любом случае требуются два дополнительных поля кода. Эти затраты памяти на описание переменной компенсируются при ее использовании, так как каждое обращение к переменной занимает два байта и к тому же работает быстрее, чем обращение к переменной типа "VARIABLE". Это объясняется тем, что на месте использования переменной типа "QUAN" компилируется адрес одного из трех полей ее кода в зависимости от указанного префиксом (или его отсутствием) действия:

-------------------------------------------------------------

действие для QUAN для VARIABLE

-------------------------------------------------------------

значение имя (2 байта) имя @ (4 байта)

присваивание IS имя (2 байта) имя ! (4 байта)

адрес AT имя (2 байта) имя (2 байта)

-------------------------------------------------------------

По аналогии co словом "QUAN" используется слово "VECT", создающее слово с векторизованным исполнением. Его можно рассматривать как переменную типа "QUAN", значением которой являются другие слова. Например, после выполнения текста

VECT имя

' DUP IS имя

последующее исполнение слова "имя" равносильно исполнению "DUP". Таким образом, созданные при помощи "VECT" слова можно рассматривать как слова co сменной семантикой. Отличие реализаций "VECT" и "QUAN" состоит лишь в следующем: исполнение имени переменной типа "VECT" вызывает выполнение слова, адрес поля кода которого содержит переменная. Префиксы используются аналогичным образом.


Скачать книгу "Учебное пособие по языку ФОРТ" - ИТФ «Технофорт» бесплатно


100
10
Оцени книгу:
0 0
Комментарии
Минимальная длина комментария - 7 знаков.
Книжка.орг » Современные российские издания » Учебное пособие по языку ФОРТ
Внимание