我正在尝试在Jison中实现解析器。解析器支持 JSON objects:{ a: 1 }
和 blocks: if (true) { statement(); }
。
我的语法看起来像:
block:
: '{' '}'
| '{' statementList '}'
;
objectExpression:
: '{' '}'
| '{' properties '}'
;
两者都有一个{}
规则,block
因为objectExpression
我需要同时支持空对象和空块。
它可以工作,但会输出很多警告,例如:
Conflict in grammar: multiple actions possible when lookahead token is ; in state 52
- reduce by rule: objectExpression -> { }
- reduce by rule: block -> { }
如何修复或抑制这些警告?