curly/test-scripts/find-replace

98 lines
633 B
Plaintext
Executable File

#!/usr/bin/env curly
>main
gto
:find
=i
=term
=text
$i
:loop
=_
$text
$i
dup
$term
len
add
slc
=part
$i
dup
inc
=i
$i
$text
len
$term
len
sub
>not-found
ggt
$part
$term
>loop
gne
ret
:not-found
neg
ret
:replace-all
=replacement
=quest
=target
\
=result
0
=from
:replace-loop
$target
$quest
$from
>find
fun
=pos
$pos
0
>replace-done
glt
$result
$target
$from
$pos
slc
$replacement
cat
cat
=result
$pos
$quest
len
add
=from
>replace-loop
gto
:replace-done
$result
$target
$from
$target
len
slc
cat
ret
:main
\Bananen hangen in warme landen aan de bananenboom.
\an
\@|\|
>replace-all
fun
out
=_
$target
\en
\un
>replace-all
fun
out
end