Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 4866 → Rev 4867

/programs/develop/SPForth/src/compiler/spf_error.f
0,0 → 1,34
( Îáðàáîòêà îøèáîê.
Copyright [C] 1992-1999 A.Cherezov ac@forth.org
Ðåâèçèÿ: Cåíòÿáðü 1999
)
 
VECT ERROR \ îáðàáîò÷èê îøèáîê (ABORT)
VECT (ABORT")
 
: (ABORT1") ( flag c-addr -- )
SWAP IF COUNT ER-U ! ER-A ! -2 THROW ELSE DROP THEN
;
 
CREATE ERRTIB C/L 1+ ALLOT
CREATE ERRFILE C/L 1+ ALLOT
VARIABLE ER>IN
VARIABLE SAVEERR?
VARIABLE >IN_WORD
 
: SAVEERR
DUP SAVEERR? @ AND
IF SOURCE ERRTIB $! >IN_WORD @ ER>IN ! SAVEERR? OFF
SOURCE-ID 999 HERE WITHIN
IF SOURCE-ID .NAME ZCOUNT C/L UMIN ERRFILE $!
THEN
THEN ;
 
: ERROR_DO
SAVEERR
CR ERRFILE COUNT TYPE
CR ERRTIB COUNT TYPE
CR ER>IN @ BEGIN SPACE 1- DUP 0 MAX 0= UNTIL ." ^" DROP
CR ." ERR=" .
CR S0 @ SP! STATE 0!
;