📜  门| GATE-CS-2000 |第49章

📅  最后修改于: 2021-06-29 11:06:05             🧑  作者: Mango

给定以下表达语法:

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
这个问题的测验