我一直在研究 ANTLR4 中的语法,但由于需求更改,我需要切换到 ANTLR3。所以我想删除下面的左递归。
exp : A
| B
| C
| exp Operator exp
| '(' exp ')'
;
我相信我在下面的尝试是可行的,但它与我在网上阅读的有关如何删除左递归的内容不同。
exp : (A | B | C | '(' exp ')' ) (Operator exp)*
我是否正确删除了左递归?