version 1.3, 2005/12/31 15:46:10
|
version 1.4, 2006/02/04 22:09:11
|
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 79 charclass any 0 $FF ..char #lf -char
|
Line 81 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 |