jsx编译器 这样的文法结构不会出现左递归,但是结合性不对,计算顺序错了2 + 3 + 4->(2+(3 + 4)) add - > multiple | multiple + add multiple - > NUMBER | NUMBER * ( add ) 去做 在进行连除运算时会出错原因是运算符的结合性问题加减乘除都是从左往右结合 5 - 1 + 4 / 2 / 2 * 3 // 期待7 实际结果为16 后续需要用结合性来进行处理正确的文法结构如下所示,这样的结合性才是正确的,计算顺序就是从左往右计算 add - > add | add + multiple multiple - >