summaryrefslogtreecommitdiff
path: root/test/files/run/parserFilter.scala
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"))
    }
}