Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. ( Îáðàáîòêà îøèáîê.
  2.   Copyright [C] 1992-1999 A.Cherezov ac@forth.org
  3.   Ðåâèçèÿ: Cåíòÿáðü 1999
  4. )
  5.  
  6. VECT ERROR      \ îáðàáîò÷èê îøèáîê (ABORT)
  7. VECT (ABORT")
  8.  
  9. : (ABORT1") ( flag c-addr -- )
  10.   SWAP IF COUNT ER-U ! ER-A ! -2 THROW ELSE DROP THEN
  11. ;
  12.  
  13. CREATE ERRTIB  C/L 1+ ALLOT
  14. CREATE ERRFILE C/L 1+ ALLOT
  15. VARIABLE ER>IN
  16. VARIABLE SAVEERR?
  17. VARIABLE >IN_WORD
  18.  
  19. : SAVEERR      
  20.         DUP SAVEERR? @ AND
  21.         IF  SOURCE ERRTIB $! >IN_WORD @ ER>IN ! SAVEERR? OFF
  22.             SOURCE-ID 999 HERE WITHIN
  23.                 IF SOURCE-ID .NAME ZCOUNT C/L UMIN ERRFILE $!
  24.                 THEN
  25.         THEN ;
  26.  
  27. : ERROR_DO
  28.         SAVEERR
  29.         CR ERRFILE COUNT TYPE
  30.         CR ERRTIB COUNT TYPE
  31.         CR ER>IN @ BEGIN SPACE 1- DUP 0 MAX 0= UNTIL ." ^" DROP
  32.         CR ." ERR=" .
  33.         CR  S0 @ SP!   STATE 0!
  34. ;
  35.