我试图弄清楚在实现关闭码算法时不同运营商的优先级是什么。
我的抽象语法树在中缀中,我正在使用关闭码算法进行评估。这适用于算术运算符。我面临的问题是我不知道所有其他运算符的优先级。
从https://en.wikipedia.org/wiki/Shunting-yard_algorithm我可以看到以下操作适用于这些运算符。数字是优先级。
^ 4
* 3
/ 3
+ 2
− 2
但是我似乎找不到任何描述关系运算符和逻辑运算符的先例的东西?我已经搜索了很多答案。
有人可以给我所有这些运算符的先例的完整图片:
a. Function call
b. (
c. ,
d. +, -
e. *, /
f. ^
g. =, <>, <, <=, >, >=
h. NOT
i. AND
j. OR
提前致谢。
/布莱恩