[gforth] / gforth / history.fs  

gforth: gforth/history.fs

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

version 1.8, Tue Nov 7 18:06:45 1995 UTC version 1.9, Sun Jan 7 17:22:11 1996 UTC
Line 97 
Line 97 
 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  
   nip r> c@ $1F and < ;  
   
 : search-voc ( addr len nfa1 nfa2 -- addr len nfa3 ) >r  
     BEGIN  dup  WHILE  >r dup r@ cell+ c@ $1F and <=  
         IF  2dup r@ cell+ char+ 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> @      name>string 2>r name>string
     REPEAT drop r> ;      dup r@ =
       IF
           rdrop r> capscomp 0<= EXIT
       THEN
       r> <
       nip rdrop ;
   
   : search-voc ( addr len nfa1 nfa2 -- addr len nfa3 )
       >r
       BEGIN
           dup
       WHILE
           >r dup r@ name>string nip <=
           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
           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


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