私は次のような構文を持っています
%(var)
と
%var
および (var)
私のルールは次のようなものです
optExpr:
| '%''('CommaLoop')'
| '%' CommaLoop
CommaLoop:
val | CommaLoop',' val
Expr:
MoreRules
| '(' val ')'
問題は、それが ) に属している%(CommaLoop)かどうかを判断できないように見えることです% (val)が、( の代わりに ) に文句を言うのです。一体何ですか? 文句を言う(べきではありませんか? どうすればエラーを修正できますか?%(トークンを作成することは良い解決策ですが$(、これを行う前にエラーではない理由を確認したいと思います。