| >>string $@ >>string off |
>>string $@ >>string off |
| 0 to >>ptr 0 to <<ptr ; |
0 to >>ptr 0 to <<ptr ; |
| : >>next ( -- addr u ) <<ptr end$ over - ; |
: >>next ( -- addr u ) <<ptr end$ over - ; |
| : s// ( -- sys ) \ regexp-replace |
: >>rest ( -- ) >>next >>string $+! ; |
| |
: s// ( addr u -- ptr ) |
| \G start search/replace loop |
\G start search/replace loop |
| ]] BEGIN [[ ; immediate |
]] (( // >> [[ ; immediate |
| : //g ( sys -- ) \ regexp-replace |
: // ( ptr addr u -- addr' u' ) |
| \G end search/replace loop |
\G end search/replace single loop |
| ]] WHILE >>next REPEAT end$ [[ |
]] << )) drop >>rest >>string@ [[ ; immediate |
| s" " ]] SLiteral << >>string@ rot drop [[ ; immediate |
: //g ( ptr addr u -- addr' u' ) |
| |
\G end search/replace all loop |
| |
]] << LEAVE )) drop >>string@ [[ ; immediate |