Androidでscalaパーサーを使用してstackoverflowerrorを取得するにはどうすればよいですか? 私はこのコードを使用していました:
val parseEApply: Parser[EApply] =
("EApply" ~> "(" ~> parseExpression) ~ ("," ~> parseListExpression <~ ")") ^^ {
case e ~ l => EApply(e, l)
}
別の括弧を使用して書き直すことで、エラーを取り除きました。誰かが私に理由を説明できますか? EApply は、他の式と式のリストを含むことができる式です。
val parseEApply: Parser[EApply] =
"EApply(" ~> parseExpression ~ ("," ~> parseListExpression <~ ")") ^^ {
case e ~ l => EApply(e, l)
}
では、なぜ最初の再帰エラーが発生し、2 番目のエラーが発生しないのでしょうか?