在ANTLR中使用子表达式解析表达式
我试图解析ANTLR中的递归表达式,例如:
(a + (b + C))
要么
((a + b))
我读了这个假设的解决方案
表达式的ANTLR语法
但是,当我尝试创建一个规则,如:
ParenthesisExpression: '(' (ParenthesisExpression | Expression) ')';
ANTLR抱怨“Rule ParenthesisExpression是左递归的”。
我如何解析本身可能具有相同形式的子表达式的表达式?
没有找到相关结果
已邀请:
1 个回复
究补闯
你越接近
规则,优先级越高:所以
和
具有最低优先级,接着是
和
,最后,
和
具有最高优先级。 它解析输入:
如下: 和输入:
解析如下: