GroupParser.parse( "{{}} {}}"のようなネストされた式を解析しようとしています 何時間も後、が失敗します。ネストされた括弧でスカラーを解析する
[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)
}
}
ヒント
あなたの質問には答えていませんか? –