给定以下表达语法:
E -> E * F | F + E | F
F -> F - F | id
以下内容哪些是对的?
(A) *比+具有更高的优先级
(B) –优先级高于*
(C) +和-具有相同的优先级
(D) +比*具有更高的优先级答案: (B)
说明:假设根据语法绘制解析树时,i / p为3 * 4-5
E
/ | \
E * F
| / | \
F F - F
| | |
id(3) id(4) id(5)
如我们所见,首先对’-‘进行评估,然后对’*’进行评估,因此’–’的优先级高于*。
所以正确的选择是B
参见http://www.geeksforgeeks.org/compilers-set-2/的问题1
这个问题的测验