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