ANTLR3 взаимно леворекурсивное правило
Каждое решение, которое я нашел на SO, было "переключение на ANTLR4", что на самом деле не вариант, потому что я использую antlr4ruby
(что является ANTLR3, 4 означает "для").
Я хочу построить правило для доступа к свойству, оно должно соответствовать что-то вроде этого:
variable
variable.property
variable.prop.prop
etc.
вот что у меня есть:
variable: NAME -> ^(VARIABLE NAME) | variable DOT NAME -> ^(ACCESS variable NAME);
(VARIABLE
а также ACCESS
являются токены парсера для использования позже, NAME
это своего рода строка).
Это явно левый рекурсив, но я понятия не имею, как это исправить.