[gforth] / gforth / regexp.fs  

gforth: gforth/regexp.fs

Diff for /gforth/regexp.fs between version 1.29 and 1.30

version 1.29, Tue Dec 28 23:24:21 2010 UTC version 1.30, Tue Dec 28 23:33:53 2010 UTC
Line 183 
Line 183 
   
 : {** ( addr -- addr addr ) \ regexp-pattern  : {** ( addr -- addr addr ) \ regexp-pattern
     \G greedy zero-or-more pattern      \G greedy zero-or-more pattern
     ]] false >r BEGIN  dup  FORK  BUT  WHILE  drop last$ r> 1+ >r  REPEAT [[      ]] false >r BEGIN  dup  FORK  BUT  WHILE  last$ r> 1+ >r  REPEAT [[
     ]] r>  AHEAD  BUT  JOIN [[      ]] r>  AHEAD  BUT  JOIN [[
     BEGIN, ; immediate      BEGIN, ; immediate
 ' {** Alias {++ ( addr -- addr addr ) \ regexp-pattern  ' {** Alias {++ ( addr -- addr addr ) \ regexp-pattern
Line 191 
Line 191 
     immediate      immediate
 : **} ( sys -- ) \ regexp-pattern  : **} ( sys -- ) \ regexp-pattern
     \G end of greedy zero-or-more pattern      \G end of greedy zero-or-more pattern
     ]] dup >last  ;S [[ DONE, ]] false ;S  THEN [[      ]] >last  ;S [[ DONE, ]] drop false ;S  THEN [[
     ]] nip 1+ false  U+DO  FORK BUT [[      ]] 1+ false  U+DO  FORK BUT [[
     ]] IF  I' I - 1- drops UNLOOP  true ;S  THEN  LOOP [[      ]] IF  I' I - 1- drops UNLOOP  true ;S  THEN  LOOP [[
     ]] false ;S JOIN [[ ; immediate      ]] false ;S JOIN [[ ; immediate
 : ++} ( sys -- ) \ regexp-pattern  : ++} ( sys -- ) \ regexp-pattern
     \G end of greedy zero-or-more pattern      \G end of greedy zero-or-more pattern
     ]] dup >last  ;S [[ DONE, ]] false ;S  THEN [[      ]] >last  ;S [[ DONE, ]] drop false ;S  THEN [[
     ]] nip false  U+DO  FORK BUT [[      ]] false  U+DO  FORK BUT [[
     ]] IF  I' I - drops UNLOOP  true ;S  THEN  LOOP [[      ]] IF  I' I - drops UNLOOP  true ;S  THEN  LOOP [[
     ]] drop false ;S JOIN [[ ; immediate      ]] drop false ;S JOIN [[ ; immediate
   


Generate output suitable for use with a patch program
Legend:
Removed from v.1.29  
changed lines
  Added in v.1.30

CVS Admin

Powered by ViewCVS 1.0-dev
(Powered by ViewCVS)

ViewCVS and CVS Help