version 1.10, 2007/12/31 18:40:24
|
version 1.11, 2008/08/09 20:44:03
|
Line 137 Variable varsmax
|
Line 137 Variable varsmax
|
0 Value end$ |
0 Value end$ |
0 Value start$ |
0 Value start$ |
: !end ( addr u -- addr ) over + to end$ dup to start$ ; |
: !end ( addr u -- addr ) over + to end$ dup to start$ ; |
: $? ( addr -- addr flag ) dup end$ u< ; |
: $?1 ( addr -- addr flag ) dup end$ u< ; |
: ^? ( addr -- addr flag ) dup start$ u> ; |
: ^? ( addr -- addr flag ) dup start$ u> ; |
: ?end ( addr -- addr ) ]] dup end$ u> ?LEAVE [[ ; immediate |
: ?end ( addr -- addr ) ]] dup end$ u> ?LEAVE [[ ; immediate |
|
|
Line 148 Variable varsmax
|
Line 148 Variable varsmax
|
]] ^? ?LEAVE [[ ; immediate |
]] ^? ?LEAVE [[ ; immediate |
: \$ ( addr -- addr ) \ regexp-pattern |
: \$ ( addr -- addr ) \ regexp-pattern |
\G check for string end |
\G check for string end |
]] $? ?LEAVE [[ ; immediate |
]] $?1 ?LEAVE [[ ; immediate |
|
|
\ regexp block |
\ regexp block |
|
|
Line 179 Variable varsmax
|
Line 179 Variable varsmax
|
immediate |
immediate |
: n*} ( sys n -- ) \ regexp-pattern |
: n*} ( sys n -- ) \ regexp-pattern |
\G At least @var{n} pattern |
\G At least @var{n} pattern |
>r ]] r> 1+ >r $? 0= UNTIL dup [[ DONE, ]] drop [[ |
>r ]] r> 1+ >r $?1 0= UNTIL dup [[ DONE, ]] drop [[ |
r@ IF r@ ]] r@ Literal u< IF r> 1+ drops false EXIT THEN [[ THEN |
r@ IF r@ ]] r@ Literal u< IF r> 1+ drops false EXIT THEN [[ THEN |
r@ ]] r> 1+ Literal U+DO FORK BUT [[ |
r@ ]] r> 1+ Literal U+DO FORK BUT [[ |
]] IF I' I - [[ r@ 1- ]] Literal + drops true UNLOOP EXIT THEN LOOP [[ |
]] IF I' I - [[ r@ 1- ]] Literal + drops true UNLOOP EXIT THEN LOOP [[ |