Diff for /gforth/kernel/recognizer.fs between versions 1.14 and 1.19

version 1.14, 2011/10/07 17:10:15 version 1.19, 2012/06/22 21:32:15
Line 23 Line 23
   
 ' no.extensions dup dup Create r:fail A, A, A,  ' no.extensions dup dup Create r:fail A, A, A,
   
 :noname ( ... nt -- ) name>int execute ;  : lit, ( n -- ) postpone Literal ;
 :noname ( ... nt -- ) name>comp execute ;  : nt, ( nt -- ) name>comp execute ;
 :noname ( ... nt -- ) postpone Literal ;  : nt-ex ( nt -- )
       [ cell 1 floats - dup [IF] ] lp+!# [ dup , [THEN] drop ]
       r> >l name>int execute @local0 >r lp+ ;
   
   ' nt-ex
   ' nt,
   ' lit,
 Create r:word rot A, swap A, A,  Create r:word rot A, swap A, A,
   
 : word-recognizer ( addr u -- nt r:word | addr u r:fail )  : word-recognizer ( addr u -- nt r:word | addr u r:fail )
Line 33  Create r:word rot A, swap A, A, Line 39  Create r:word rot A, swap A, A,
     IF  nip nip r:word  ELSE  drop r:fail  THEN ;      IF  nip nip r:word  ELSE  drop r:fail  THEN ;
   
 ' noop  ' noop
 :noname  postpone Literal ;  ' lit,
 dup  dup
 Create r:num rot A, swap A, A,  Create r:num rot A, swap A, A,
   
 ' noop  ' noop
 :noname  postpone 2Literal ;  :noname ( n -- ) postpone 2Literal ;
 dup  dup
 Create r:2num rot A, swap A, A,  Create r:2num rot A, swap A, A,
   
Line 108  Variable forth-recognizer Line 114  Variable forth-recognizer
   
 : postpone ( "name" -- ) \ core  : postpone ( "name" -- ) \ core
     \g Compiles the compilation semantics of @i{name}.      \g Compiles the compilation semantics of @i{name}.
     parse-name forth-recognizer do-recognizer >postpone ; immediate      parse-name forth-recognizer do-recognizer >postpone
   ; immediate restrict
   

Removed from v.1.14  
changed lines
  Added in v.1.19


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