Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
17
Task/String-matching/Tailspin/string-matching-1.tailspin
Normal file
17
Task/String-matching/Tailspin/string-matching-1.tailspin
Normal 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
|
||||
36
Task/String-matching/Tailspin/string-matching-2.tailspin
Normal file
36
Task/String-matching/Tailspin/string-matching-2.tailspin
Normal 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
|
||||
13
Task/String-matching/Tailspin/string-matching-3.tailspin
Normal file
13
Task/String-matching/Tailspin/string-matching-3.tailspin
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue