NFA
NFA (англ. Name Field Address) — адрес поля имени словарной статьи.
В Каллисто адрес поля имени невозможно быстро и точно получить из адреса другого поля (LFA, CFA и PFA), поэтому чаще всего слово представлено в стеке своим NFA. Наоборот же, получить остальные адреса полей из NFA, сравнительно просто.
Стандартное слово ID. снимает NFA со стека и выводит на индикатор имя соответствующего слова.
История[править]
В fig-Форте устанавливался старший бит первого и последнего символов имени, что позволяло легко путешествовать от начала поля имени к концу и обратно, но сильно затрудняло использование удобных для русского языка 8-битных кодировок.
В Каллисто используется 8-битная кодировка, принятая в ЭКВМ, и в именах слов разрешено использовать русские буквы. Такой подход затрудняет нахождение начала поля имени. Если же известен адрес первого байта поля имени (где хранится байт-счётчик), найти конец поля имени (где начинается поле связи) легко. Именно поэтому в Каллисто адрес поля имени является основным, а адреса остальных полей вычисляются из NFA с помощью байта счётчика.
заголовок (header) | тело (body) | ||
---|---|---|---|
NFA | LFA | CFA (xt) | PFA |
Поле имени | Поле связи | Поле кода | Поле данных (параметров) |
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |