我的语法如下:
expression : scalar
| vector;
scalar : <bunch of rules>
| vector[scalar] #VectorIndex
;
vector : <bunch of rules>
| scalar ('*' | '+' | '-') vector
;
是否有可能从此语法中删除间接左递归?用其所有子规则替换vector
会使语法过于重复和混乱。