での紛争削減:シフト私は競合を減らす私の3つのシフトを与えている以下の文法を持つミッドルールアクションバイソン
boolexpression: boolexpression OR boolterm
| boolterm ;
boolterm: boolterm AND boolfact
| boolfact;
boolfact: "!" "(" boolexpression ")"
| "(" boolexpression ")"
| BOOLLITERAL
| expression boolop expression
boolop: "<"| ">"| BOOLOPLEQ /* <= */ | BOOLOPGEQ /* >= */ | BOOLOPEQ /* == */ | BOOLOPNEQ /* != */;
expression: sum ;
sum: sum "+" term
| sum "-" term
| term ;
term: term "*" factor
| term "/" factor
| factor;
factor: ID
| NUMBER
| "(" {/* rules to generate IR/*} expression ")";
私は{/* rules to generate IR/*}
を削除するときに、すべてが正常に動作します。
あなたが投稿した文法には矛盾がないので、あなたが見るコンフリクトは、あなたがあなたの投稿から除外した文法の他の部分から来ています... –