Поле данных

Материал из ПМК вики
Перейти к навигации Перейти к поиску

Поле данных (англ. Data Field), оно же поле параметров (англ. Parameter Field) — наиболее разнообразная часть словарной статьи, расположенная сразу после поля кода. Содержание поля данных уникально для каждого слова и сильно зависит от его обработчика, адрес которого находится в поле кода. Адрес поля данных называется PFA (от англ. Parameter Field Address).

При исполнении слова его поле данных интерпретируется обработчиком — поле данных передаётся обработчику, как в процедурных языках процедурам передаётся список параметров. Можно сказать, что поле параметров «настраивает» обработчик (который часто используется повторно, для исполнения различных слов) под конкретное слово.

Конечно, помимо поля данных, на результат исполнения слова (конкретного запуска обработчика) могут повлияют передаваемые через стек аргументы и многое другое.

Поле данных тесно связано с полем кода. Когда их проще объединить вместе, говорят о теле словарной статьи в противоположность её заголовку (поле имени и поле связи).

Поле данных примитива

Обработчик примитива написан на ЯМК и находится в его поле данных. В примитиве поле кода указывает на поле параметров, то есть содержит PFA.

Поле данных высокоуровневого слова

Слова высокого уровня определяются с помощью : и компилируются в шитый код. Этот шитый код и располагается в поле данных.

Шитый код исполняется адресным интерпретатором, поэтому поле кода высокоуровневого слова содержит адрес точки CALL адресного интерпретатора.

Поле данных целочисленной константы

Целочисленную константу создаёт порождающее слово CONSTANT. Поле данных целочисленной константы занимает одну ячейку, в которую при создании целочисленной константы заносится её значение.

Поле данных целочисленной переменной

Целочисленная переменная создаётся с помощью слова VARIABLE. Её поле данных представляет собой одну ячейку, содержащую значение целочисленной переменной.

Поле данных десятичной переменной

Десятичные переменные создаются с помощью слова VALUE. Поле параметров десятичной переменной состоит из одной ячейки, которая содержит номер десятичного регистра, соответствующего данной десятичной переменной.

  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.


  Это заготовка статьи. Вы можете помочь проекту, дополнив её.