Поле данных

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Устройство словарной статьи Каллисто
заголовок (header) тело (body)
NFA LFA CFA (xt) PFA
Поле имени Поле связи Поле кода Поле данных (параметров)


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


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