如何解决ANTLR4-从L到R评估,优先级相同
解析器规则:
expression : L_BRACKET expression R_BRACKET #Parenthesis
| left=expression op=AND right=expression #And
| left=expression op=OR right=expression #Or
| left=expression op=XOR right=expression #Xor
| left=expression op=IMPL right=expression #Impl
| left=expression op=EQUIV right=expression #Equiv
| left=expression op=VAR right=expression #Var
| op=NEG expression #Neg
| VALUE #Value
| VAR #Var
;
输入:
a or a and a and a and a
解析树:
我希望从左到右简单地评估字符串。换句话说,在这种情况下,只有树的左节点应该有子级。
但是,目前,AND
似乎比OR
优先,上述字符串被视为a or (a and a and a and a)
我该怎么做?
解决方法
| left=expression op=(AND|OR|XOR|IMPL|EQUIV) right=expression #Operation
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。