Я работал над грамматикой в ANTLR4, но из-за изменения требований мне нужно переключиться на ANTLR3. Поэтому я хотел бы удалить левую рекурсию на следующем.
exp : A
| B
| C
| exp Operator exp
| '(' exp ')'
;
Я считаю, что моя попытка ниже работает, но она отличается от того, что я читал в Интернете о том, как удалить левую рекурсию.
exp : (A | B | C | '(' exp ')' ) (Operator exp)*
Я правильно удалил левую рекурсию?