[gforth] / gforth / kernel / recognizer.fs  

gforth: gforth/kernel/recognizer.fs

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

version 1.8, Thu Oct 6 20:15:06 2011 UTC version 1.9, Thu Oct 6 20:47:38 2011 UTC
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 
Line 44 
   
 \ 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 
Line 70 
   
 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
   


Generate output suitable for use with a patch program
Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

CVS Admin

Powered by ViewCVS 1.0-dev
(Powered by ViewCVS)

ViewCVS and CVS Help