У меня есть следующая грамматика:
expression : scalar
| vector;
scalar : <bunch of rules>
| vector[scalar] #VectorIndex
;
vector : <bunch of rules>
| scalar ('*' | '+' | '-') vector
;
Есть ли возможность удалить косвенную левую рекурсию из этой грамматики?Замена vector
всеми ее подправилами сделает грамматику слишком повторяющейся и грязной.