?ERROR

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

?ERROR — архаичное слово Каллисто. Проверить наличие ошибки.

?ERROR         ( ф c −− )                           Сгенерировать ошибку номер c, если флаг ф истинен (ф<>0).

Ввод слова ?ERROR

В режиме NUM последовательно нажмите клавиши  K     Р-ГРД-Г   ИП   ×   ×   5   × 

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

История

Слово ?ERROR присутствовало в fig-Форте, но с 1983 года в стандартах укрепилось более «жирное» слово ABORT"

В Форте ИТЭФ слово ?ERROR сокращалось до ?ER

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

?ERROR  f n --
       Issue an error message number n, if the boolean flag is true.

Реализация

3002 ;#qERROR
3003 ; ?ERROR           ( ф c −− )                           Сгенерировать ошибку номер c, если флаг ф истинен (ф≠0).
3004 LQERR:          .DB     6
3005                 .TEXT   "?ERROR"                        ; ( флаг номер −− ) ?ERROR диагностика ошибок, взятая из Форт ИТЭФ
3006                 .DW     LN2PFA
3007 QERR:           .DW CALL
3008 RQERR:          .DW SWAP, ZBRAN,TTT, BRAN,RERROR
3009 TTT:            .DW DROP, EXIT

Реализация из SP-Forth 4.20:

: ?ERROR ( F, N -> )
  SWAP IF THROW ELSE DROP THEN
;

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

Юрий Семёнов приводит следующее описание слова ?ERROR (стр. 155):

 : ?ERROR    ↔ IF ERROR ELSE DROP THEN ;

В FORTH ИТЭФ слово ?ERROR называется ?ER

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

             HEAD    203Q,'?E',322Q,QERR,$COL             ; ?ER
             DW  SWAP,ZBRAN,TTT-$,ERROR,SEMI
   TTT:      DW  DROP,SEMI

Ссылки


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


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