Как убрать косвенную левую рекурсию в грамматике Antlr - PullRequest
0 голосов
/ 27 декабря 2018

У меня есть следующая грамматика:

expression : scalar 
           | vector;
scalar : <bunch of rules>
       | vector[scalar] #VectorIndex
       ;
vector : <bunch of rules>
       | scalar ('*' | '+' | '-') vector
       ;

Есть ли возможность удалить косвенную левую рекурсию из этой грамматики?Замена vector всеми ее подправилами сделает грамматику слишком повторяющейся и грязной.

...