Files
kraken/tests/test_lexer.krak

58 lines
1.4 KiB
Plaintext

import lexer:*
import regex:*
import string:*
import symbol:*
import io:*
import util:*
fun main(): int {
var lex.construct(): lexer
lex.set_input(string("aaaatesta"))
lex.add_regex(regex("a+"))
lex.add_regex("test")
println(lex.next().to_string())
println(lex.next().to_string())
println("old contributed tests")
{
var lex.construct(): lexer
lex.add_regex("b")
lex.set_input(string("bb"))
range(3).for_each(fun(i: int) { println(lex.next().to_string()); } )
}
println()
{
var lex.construct(): lexer
lex.add_regex("a*")
lex.add_regex("b")
lex.set_input(string("aaabaabb"))
range(6).for_each(fun(i: int) { println(lex.next().to_string()); } )
}
println()
{
var lex.construct(): lexer
lex.add_regex("a|b")
lex.set_input(string("blah"))
range(2).for_each(fun(i: int) { println(lex.next().to_string()); } )
}
println()
{
var lex.construct(): lexer
lex.add_regex("xyzzy")
lex.set_input(string("xyzzy"))
range(2).for_each(fun(i: int) { println(lex.next().to_string()); } )
}
println()
{
var lex.construct(): lexer
lex.add_regex("int")
lex.add_regex("(i|n|t|e)+")
lex.set_input(string("intent"))
range(2).for_each(fun(i: int) { println(lex.next().to_string()); } )
}
return 0
}