blob: d007d441f4a929ff97b1c654e0d41e80ca0bd0d7 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
object Test extends scala.util.parsing.combinator.RegexParsers {
val keywords = Set("if", "false")
def word: Parser[String] = "\\w+".r
def keyword: Parser[String] = word filter (keywords.contains)
def ident: Parser[String] = word filter(!keywords.contains(_))
def test = keyword ~ ident
def main(args: Array[String]) {
println(parseAll(test, "if false"))
println(parseAll(test, "not true"))
println(parseAll(test, "if true"))
}
}
|