0
ANTLR 4.6、2011/11/23のスナップショット。左回帰規則からの相互左回帰の除去
私はそれぞれ左回帰的な2つのルールを持っています。私は、左回帰を公開するためのいくつかの選択肢を拡張しました。左回帰が明示的であるため、ANTLR4がこれを処理します。ただし、2つのルールは相互に左回帰的です。
どのようにして相互左帰属を解決し、そうすることでルールが完全な混乱ではないのですか?今、私は何が拡張されたかを示すよいコメントを持っており、私はそれを相互左回帰に関与していないprimary2とconstant_primary2に移しました。
constant_primary :
constant_primary2
| primary '.' method_call_body
| constant_primary '\'' '(' constant_expr ')'
;
primary :
primary2
| primary '.' method_call_body
| constant_primary '\'' '(' expr ')'
;