Diff for /gforth/regexp.fs between versions 1.4 and 1.5

version 1.4, 2006/02/04 22:09:11 version 1.5, 2006/02/25 14:01:18
Line 42 Line 42
 0 Value cur-class  0 Value cur-class
 : charclass ( -- )  Create here dup to cur-class $100 dup allot erase ;  : charclass ( -- )  Create here dup to cur-class $100 dup allot erase ;
 : +char ( char -- )  cur-class swap +bit ;  : +char ( char -- )  cur-class swap +bit ;
 : +ichar ( char -- )  dup toupper +char +char ;  
 : -char ( char -- )  cur-class swap -bit ;  : -char ( char -- )  cur-class swap -bit ;
 : -ichar ( char -- )  dup toupper -char -char ;  
 : ..char ( start end -- )  1+ swap ?DO  I +char  LOOP ;  : ..char ( start end -- )  1+ swap ?DO  I +char  LOOP ;
 : or! ( n addr -- )  dup @ rot or swap ! ;  : or! ( n addr -- )  dup @ rot or swap ! ;
 : and! ( n addr -- )  dup @ rot and swap ! ;  : and! ( n addr -- )  dup @ rot and swap ! ;
Line 81  charclass any    0 $FF ..char #lf -char Line 79  charclass any    0 $FF ..char #lf -char
 : ,=" ( addr u -- ) tuck ]] dup SLiteral $= ?LEAVE Literal + noop [[ ;  : ,=" ( addr u -- ) tuck ]] dup SLiteral $= ?LEAVE Literal + noop [[ ;
 : =" ( <string>" -- )  '" parse ,=" ; immediate  : =" ( <string>" -- )  '" parse ,=" ; immediate
   
 [IFDEF] capscompare  
 : $i= ( addr1 addr2 u -- f )  tuck capscompare ;  
 : ,i=" ( addr u -- ) tuck ]] dup SLiteral $i= ?LEAVE Literal + noop [[ ;  
 : i=" ( <string>" -- )  '" parse ,i=" ; immediate  
 [ELSE]  
 : i=" ( -- )  '" parse bounds ?DO  
     ]] count toupper [[ I c@ toupper ]] Literal <> ?LEAVE [[  
   LOOP ; immediate  
 [THEN]  
   
 \ loop stack  \ loop stack
   
 Variable loops  $40 3 * cells allot  Variable loops  $40 3 * cells allot

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


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