Я пытаюсь разобрать рекурсивные выражения в ANTLR, такие как:
(a + (b + C))
или
((a + b))
Я прочитал это предполагаемое решение: Грамматика ANTLR для выражений
Однако, когда я пытаюсь создать правило, такое как:
ParenthesisExpression: '(' (ParenthesisExpression | Expression) ')';
ANTLR жалуется, что "Rule ParenthesisExpression является леворекурсивным".
Как я могу разобрать выражения, которыеможет иметь внутри себя подвыражения одинаковой формы?