Попытка проанализировать вложенные выражения, такие как GroupParser.parse("{{a}{{c}{d}}}") После многих часов у меня теперь есть следующий фрагмент, который хорошо анализирует {a}, но терпит неудачу с
[1.5] failure: ``}'' expected but `{' found
{{a}{{b}{c}}}
^
sealed abstract class Expr
case class ValueNode(value:String) extends Expr
object GroupParser extends StandardTokenParsers {
lexical.delimiters ++= List("{","}")
def vstring = ident ^^ { case s => ValueNode(s) }
def expr = ( vstring | parens )
def parens:Parser[Expr] = "{" ~> expr <~ "}"
def parse(s:String) = {
val tokens = new lexical.Scanner(s)
phrase(expr)(tokens)
}
}
любые намеки?