我有类似的语法
%(var)
和
%var
和 (var)
我的规则是这样的
optExpr:
| '%''('CommaLoop')'
| '%' CommaLoop
CommaLoop:
val | CommaLoop',' val
Expr:
MoreRules
| '(' val ')'
问题是它似乎无法判断 ) 是否属于%(CommaLoop)
或% (val)
但它抱怨 ) 而不是 (。到底是什么?它不应该抱怨(
吗?我应该如何修复错误?我认为制作%(
令牌是一个很好的解决方案,但我想$(
在执行此操作之前确定为什么不是错误。