Files
kraken/tests/test_regex.krak

70 lines
1.8 KiB
Plaintext
Raw Normal View History

import io:*
import regex:*
fun main():int {
println("concat")
var reg = regex("ab")
println(reg.long_match("abab"))
println(reg.long_match("aab"))
println("repitition")
reg = regex("a*b+c")
println(reg.long_match("bc"))
println(reg.long_match("aaaaaaaaaaaaaaaabc"))
println(reg.long_match("aaaaaaaaaaaaaaaabbbbbbbbbc"))
println(reg.long_match("aaaaaaaaaaaaaaaa"))
println(reg.long_match("aaaaaaaaaaaaaaaac"))
println(reg.long_match("aaaaaaaaaaaaaaaab"))
println("alternation")
reg = regex("a|b")
println(reg.long_match("a"))
println(reg.long_match("b"))
println(reg.long_match("aa"))
println(reg.long_match("bb"))
println(reg.long_match("ab"))
println(reg.long_match("c"))
println("perens!")
reg = regex("(a|b)*")
println(reg.long_match("a"))
println(reg.long_match("b"))
println(reg.long_match("aa"))
println(reg.long_match("bb"))
println(reg.long_match("ab"))
println(reg.long_match("abbbaaababab"))
println(reg.long_match("c"))
println("optional!")
reg = regex("a?b")
println(reg.long_match("a"))
println(reg.long_match("b"))
println(reg.long_match("ab"))
println("Old Contributed")
var re = regex("a*");
println(re.long_match("a"));
println(re.long_match("aa"));
println(re.long_match("aaaab"));
println(re.long_match("b"));
re = regex("a+");
println(re.long_match("aa"));
println(re.long_match("aaaab"));
println(re.long_match("b"));
re = regex("a(bc)?");
println(re.long_match("ab"));
re = regex("((ab)|c)*");
println(re.long_match("ababc"));
println(re.long_match("ad"));
println(re.long_match("ababccd"));
re = regex("bbb((bba+)|(ba+))*a*((a+b)|(a+bb)|(a+))*bbb") ;
println(re.long_match("bbbababbbaaaaaaaaaaaaaaaaaaabbb"));
return 0
}