Parser combinator library in Scala