'N

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

'N (штрих-эн) — адаптированное слово Каллисто.

'N             ( −− a )                             Ищет следующее слово, возвращая его NFA.

Фраза 'N XXX ищет слово с именем XXX (из входного или экранного буфера) в словаре Форта. Если поиск увенчался успехом, адрес поля имени (NFA, а не PFA) XXX будет записан в стек. При неудачном поиске выдаётся сообщение об ошибке.

Слово 'N вводит очередное слово и ищет его в словаре, возвращая адрес поля имени найденной статьи. Если слово не найдено, это считается ошибкой.

Ввод слова 'N

В режиме NUM последовательно нажмите четыре клавиши  F   1     Р-ГРД-Г   4 

Для возврата в режим NUM нажмите синюю клавишу  P .

История

В fig-Форте и Форте-79 слово ' возвращало PFA. Начиная с Форта-83 слово ' возвращает CFA, он же xt. В Каллисто ни из CFA, ни из PFA невозможно получить NFA.

Поэтому в Каллисто есть специальное слово 'N, которое возвращает NFA.

Реализация 'N

3604 ;#TickN
3605 ; 'N               ( −− a )                             Искать следующее слово, вернуть его NFA.
3606 ; Фраза 'N XXX ищет слово с именем XXX (из входного или экранного буфера) в словаре Форта.
3607 ; Если поиск увенчался успехом, положить на стек адрес поля имени (NFA, а не PFA) XXX
3608 ; При неудачном поиске выдать сообщение об ошибке.
3609 LTICK:          .DB     2
3610                 .TEXT   "'N"                    ; ( −− nfa )
3611                 .DW     LTHRU
3612 TICK:           .DW CALL, BL,WORD, FIND, ZEQU, ZERO,QERR, DROP, EXIT

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

У Баранова-Ноздрунова определение слова 'N выглядит так (стр. 65):

: 'N  ( ---> A )   BL  WORD  FINDN  IF  EXIT  THEN
  COUNT  TYPE  -1  ABORT"  ?"  ;

Ссылки


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


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