Diff for /gforth/kernel/recognizer.fs between versions 1.2 and 1.5

version 1.2, 2011/10/05 20:56:45 version 1.5, 2011/10/05 21:09:05
Line 26 Line 26
 :noname ( ... nt -- ) name>int compile, ;  :noname ( ... nt -- ) name>int compile, ;
 :noname ( ... nt -- ) name>comp execute ;  :noname ( ... nt -- ) name>comp execute ;
 :noname ( ... nt -- ) postpone Literal ;  :noname ( ... nt -- ) postpone Literal ;
 recognizer: r:int-table  recognizer: r:interpreter
   
 :noname ( addr u -- nt int-table true | addr u false )  :noname ( 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:int-table true  EXIT          nip nip r:interpreter true  EXIT
     THEN ; Constant int-recognizer      THEN ; Constant int-recognizer
   
 ' noop  ' noop
Line 53  recognizer: r:2number Line 53  recognizer: r:2number
     THEN      THEN
     drop 2r> false ; Constant num-recognizer      drop 2r> false ; Constant num-recognizer
   
   ' no.extensions dup 2dup recognizer: r:fail
   
 \ recognizer stack  \ recognizer stack
   
 $10 Constant max-rec#  $10 Constant max-rec#
Line 77  num-recognizer int-recognizer 2 forth-re Line 79  num-recognizer int-recognizer 2 forth-re
     dup cell+ swap @ cells bounds ?DO      dup cell+ swap @ cells bounds ?DO
         I perform IF  UNLOOP  EXIT  THEN          I perform IF  UNLOOP  EXIT  THEN
     cell +LOOP      cell +LOOP
     no.extensions ;      r:fail ;
   
 : interpreter-r ( addr u -- ... xt )  : interpreter-r ( addr u -- ... xt )
     forth-recognizer do-recognizer r>int @ ;      forth-recognizer do-recognizer r>int @ ;
Line 93  num-recognizer int-recognizer 2 forth-re Line 95  num-recognizer int-recognizer 2 forth-re
     \G Enter compilation state.      \G Enter compilation state.
     ['] compiler-r     IS parser1 state on  ;      ['] compiler-r     IS parser1 state on  ;
   
   : postpone ( "name" -- ) \ core
       \g Compiles the compilation semantics of @i{name}.
       parse-name forth-recognizer do-recognizer >r
       r@ r>lit perform r> r>comp @ compile, ; immediate
   

Removed from v.1.2  
changed lines
  Added in v.1.5


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