| |
|
| : {** ( 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 |
| 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 |
| |
|