| DOES> ( -- addr u ) @ 2@ tuck - ; |
DOES> ( -- addr u ) @ 2@ tuck - ; |
| : \:s ( n -- ) 0 ?DO I \: LOOP ; |
: \:s ( n -- ) 0 ?DO I \: LOOP ; |
| 9 \:s \1 \2 \3 \4 \5 \6 \7 \8 \9 |
9 \:s \1 \2 \3 \4 \5 \6 \7 \8 \9 |
| |
|
| |
\ replacements, needs string.fs |
| |
|
| |
require string.fs |
| |
|
| |
0 Value >>ptr |
| |
0 Value <<ptr |
| |
Variable >>string |
| |
: >> ( addr -- addr ) dup to >>ptr ; |
| |
: << ( run-addr addr u -- run-addr ) |
| |
<<ptr 0= IF start$ to <<ptr THEN |
| |
>>string @ 0= IF s" " >>string $! THEN |
| |
<<ptr >>ptr over - >>string $+! |
| |
>>string $+! dup to <<ptr ; |
| |
: <<" '" parse postpone SLiteral postpone << ; immediate |
| |
: >>string@ ( -- addr u ) |
| |
>>string $@ >>string off |
| |
0 to >>ptr 0 to <<ptr ; |
| |
: >>next ( -- addr u ) <<ptr end$ over - ; |
| |
: s// ]] BEGIN [[ ; immediate |
| |
: //g ]] WHILE >>next REPEAT end$ [[ |
| |
s" " ]] SLiteral << >>string@ rot drop [[ ; immediate |