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