Initial data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 72d218235f
commit f23f22d71c
199087 changed files with 3378941 additions and 0 deletions

View file

@ -0,0 +1,17 @@
templates find&{s:}
when <'$s;.*'> do '$; starts with $s;' !
when <'.*$s;'> do '$; ends with $s;' !
when <'.*$s;.*'> do '$; contains $s;' !
otherwise '$s; cannot be found in $;' !
end find
'abcd' -> find&{s:'ab'} -> !OUT::write
'
' -> !OUT::write
'abcd' -> find&{s:'cd'} -> !OUT::write
'
' -> !OUT::write
'abcd' -> find&{s:'bc'} -> !OUT::write
'
' -> !OUT::write
'abcd' -> find&{s:'e'} -> !OUT::write

View file

@ -0,0 +1,36 @@
composer startsWith&{s:}
@: 0;
(<='$s;'>? -> @:1; <'.*'>) $@
end startsWith
composer endsWith&{s:}
@: 0;
(<ends|'.*'>) $@
rule ends: (<'.'>* <='$s;'> -> @:1;)
end endsWith
composer contains&{s:}
@: 0;
(<~='$s;'>? <='$s;'>? -> @:1; <'.*'>) $@
end contains
templates find&{s:}
when <?($ -> startsWith&{s:$s} <=1>)> do '$; starts with $s;' !
when <?($ -> endsWith&{s:$s} <=1>)> do '$; ends with $s;' !
when <?($ -> contains&{s:$s} <=1>)> do '$; contains $s;' !
otherwise '$s; cannot be found in $;' !
end find
'abcd' -> find&{s:'ab'} -> !OUT::write
'
' -> !OUT::write
'abcd' -> find&{s:'cd'} -> !OUT::write
'
' -> !OUT::write
'abcd' -> find&{s:'bc'} -> !OUT::write
'
' -> !OUT::write
'abcd' -> find&{s:'e'} -> !OUT::write
'
' -> !OUT::write
'banana' -> find&{s:'na'} -> !OUT::write

View file

@ -0,0 +1,13 @@
composer index&{s:}
@index: 0;
[<match>*]
rule match: ([<~='$s;'>? ...] -> @: $@ + 1 + $::length;) <'.'>? -> $@
end index
'ba is found in positions $:'banana' -> index&{s:'ba'}; in banana' -> !OUT::write
'
' -> !OUT::write
'ana is found in positions $:'banana' -> index&{s:'ana'}; in banana' -> !OUT::write
'
' -> !OUT::write
'c is found in positions $:'banana' -> index&{s:'c'}; in banana' -> !OUT::write