Преобразование ANTLR4 в ANTLR3 — удаление левой рекурсии

Я работал над грамматикой в ​​ANTLR4, но из-за изменения требований мне нужно переключиться на ANTLR3. Поэтому я хотел бы удалить левую рекурсию на следующем.

exp        : A
           | B 
           | C 
           | exp Operator exp 
           | '(' exp ')'
           ;

Я считаю, что моя попытка ниже работает, но она отличается от того, что я читал в Интернете о том, как удалить левую рекурсию.

exp        : (A | B | C | '(' exp ')' ) (Operator exp)*

Я правильно удалил левую рекурсию?


person Pete Shaw    schedule 17.12.2013    source источник
comment
Аналогичный вопрос: Как удалить левую рекурсию в следующей грамматике?   -  person nvlass    schedule 18.12.2013
comment
Спасибо, nvlass, это помогает   -  person Pete Shaw    schedule 19.12.2013