?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

Ссылки[править]


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


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