N⟩BODY

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.

N>BODY (от имени к телу) — адаптированное слово Каллисто.

N>BODY         ( a1 −− a2 )                         От имени к телу. Преобразовать NFA в PFA.

Слово N>BODY позволяет получить адрес поля данных слова a2, если известен a1 — начальный адрес его словарной статьи.

Слово N>BODY тоже самое, что фраза NAME> >BODY

Ввод слова N>BODY

В режиме ЛАТ последовательно нажмите клавиши  4     P   F   ИП     Р-ГРД-Г   В/О   5   K    ,  

История

Прообразом каллистянского слова N>BODY было слово PFA из fig-Форта.

PFA в fig-FORTH Release 1 glossary, май 1979 (англ.)

PFA          nfa --- pfa
       Convert the name field address of a compiled definition to its
       parameter field address.

Реализация

Вообще говоря, поле кода может занимать больше двух байт, например быть векторным или быть созданным с помощью <BUILDS. Размер поля кода нигде не хранится, так что программист должен знать структуру поля кода обрабатываемого слова, а не полагаться на слово N>BODY, обрабатывающее лишь стандартный случай.

2992 ;#NtoBODY
2993 ; N>BODY           ( a1 −− a2 )                         От имени к телу. Преобразовать NFA в PFA.
2994 ; Тоже самое, что последовательность NAME> >BODY
2995 LN2PFA:         .DB     6
2996                 .TEXT   "N>BODY"                        ; ( nfa −− pfa )
2997                 .DW     LN2CFA
2998 N2PFA:          .DW CALL, DUP,CAT, BL,MOD, PLUS, LITB   ; BL == 32
2999                 .DB 5
3000                 .DW PLUS, EXIT

Советская реализация

Слово N>BODY в FORTH ИТЭФ называлось PFA

Вот его определение:

             HEAD    203Q,'PF'301Q,PFA,$COL               ; PFA
             DW  ONE,TRAV,LIT,5,PLUS,SEMI

Ссылки


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


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