Diff for /gforth/kernel/recognizer.fs between versions 1.8 and 1.9

version 1.8, 2011/10/06 20:15:06 version 1.9, 2011/10/06 20:47:38
Line 26 Line 26
 :noname ( ... nt -- ) postpone Literal ;  :noname ( ... nt -- ) postpone Literal ;
 Create r:interpreter rot A, swap A, A,  Create r:interpreter rot A, swap A, A,
   
 :noname ( addr u -- nt int-table true | addr u false )  : int-recognizer ( addr u -- nt int-table true | addr u false )
     2dup find-name [ [IFDEF] prelude-mask ] run-prelude [ [THEN] ] dup      2dup find-name [ [IFDEF] prelude-mask ] run-prelude [ [THEN] ] dup
     IF      IF
         nip nip r:interpreter true  EXIT          nip nip r:interpreter true  EXIT
     THEN ; Constant int-recognizer      THEN ;
   
 ' noop  ' noop
 :noname  postpone Literal ;  :noname  postpone Literal ;
Line 44  Create r:2number rot A, swap A, A, Line 44  Create r:2number rot A, swap A, A,
   
 \ snumber? should be implemented as recognizer stack  \ snumber? should be implemented as recognizer stack
   
 :noname ( addr u -- nt int-table true | addr u false )  : num-recognizer ( addr u -- n/d int-table true | addr u false )
     2dup 2>r snumber?  dup      2dup 2>r snumber?  dup
     IF      IF
         2rdrop 0> IF  r:2number   ELSE  r:number  THEN  true  EXIT          2rdrop 0> IF  r:2number   ELSE  r:number  THEN  true  EXIT
     THEN      THEN
     drop 2r> false ; Constant num-recognizer      drop 2r> false ;
   
 ' no.extensions dup dup Create r:fail A, A, A,  ' no.extensions dup dup Create r:fail A, A, A,
   
Line 70  $10 Constant max-rec# Line 70  $10 Constant max-rec#
   
 Variable forth-recognizer  Variable forth-recognizer
   
 int-recognizer A, num-recognizer A, max-rec# 2 - cells allot  ' int-recognizer A, ' num-recognizer A, max-rec# 2 - cells allot
 2 forth-recognizer !  2 forth-recognizer !
 \ num-recognizer int-recognizer 2 forth-recognizer set-recognizers  \ ' num-recognizer ' int-recognizer 2 forth-recognizer set-recognizers
   
 \ recognizer loop  \ recognizer loop
   

Removed from v.1.8  
changed lines
  Added in v.1.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>