Diff for /gforth/history.fs between versions 1.8 and 1.9

version 1.8, 1995/11/07 18:06:45 version 1.9, 1996/01/07 17:22:11
Line 97  Create lfpad #lf c, Line 97  Create lfpad #lf c,
 Create prefix-found  0 , 0 ,  Create prefix-found  0 , 0 ,
   
 : word-lex ( nfa1 nfa2 -- -1/0/1 )  : word-lex ( nfa1 nfa2 -- -1/0/1 )
   dup 0=  IF  2drop 1  EXIT  THEN      dup 0=
   cell+ >r cell+ count $1F and      IF
   dup r@ c@ $1F and =          2drop 1  EXIT
   IF  r> char+ capscomp 0<=  EXIT  THEN      THEN
   nip r> c@ $1F and < ;      name>string 2>r name>string
       dup r@ =
       IF
           rdrop r> capscomp 0<= EXIT
       THEN
       r> <
       nip rdrop ;
   
 : search-voc ( addr len nfa1 nfa2 -- addr len nfa3 ) >r  : search-voc ( addr len nfa1 nfa2 -- addr len nfa3 )
     BEGIN  dup  WHILE  >r dup r@ cell+ c@ $1F and <=      >r
         IF  2dup r@ cell+ char+ capscomp  0=      BEGIN
             IF  r> dup r@ word-lex          dup
                 IF  dup prefix-found @ word-lex      WHILE
                     0>= IF  rdrop dup >r  THEN          >r dup r@ name>string nip <=
                 THEN >r          IF
               2dup r@ name>string drop capscomp  0=
               IF
                   r> dup r@ word-lex
                   IF
                       dup prefix-found @ word-lex
                       0>=
                       IF
                           rdrop dup >r
                       THEN
                   THEN
                   >r
             THEN              THEN
         THEN  r> @          THEN
     REPEAT drop r> ;          r> @
       REPEAT
       drop r> ;
   
 : prefix-string ( addr len nfa -- addr' len' )  : prefix-string ( addr len nfa -- addr' len' )
     dup prefix-found !  ?dup      dup prefix-found !  ?dup
     IF  cell+ count $1F and rot /string rot drop      IF
           name>string rot /string rot drop
         dup 1+ prefix-found cell+ !          dup 1+ prefix-found cell+ !
     ELSE      ELSE
         2drop s" " prefix-found cell+ off          2drop s" " prefix-found cell+ off

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


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