Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4867 leency 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
;