Jisonにパーサーを実装しようとしています。パーサーは、JSON オブジェクト:{ a: 1 }
とブロック:の両方をサポートしています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 -> { }
これらの警告を修正または抑制するにはどうすればよいですか?