📜  门| GATE-CS-2014-(Set-2) |第 65 题

📅  最后修改于: 2021-09-24 06:30:03             🧑  作者: Mango

考虑由以下产生式规则定义的文法,带有两个运算符∗ 和 +

S --> T * P 
    T --> U | T * U
    P --> Q + P | Q
    Q --> Id
    U --> Id

以下哪一项是正确的?

(A) + 是左结合的,而 * 是右结合的
(B) + 是右结合,而 * 是左结合
(C) + 和 ∗ 都是右结合的
(D) + 和 ∗ 都是左结合的

答案:(乙)
说明:从语法中我们可以通过查看语法找出联想。

Let us consider the 2nd production
T -> T * U
T is generating T*U recursively (left recursive) so * is 
left associative.

Similarly
P -> Q + P
Right recursion so + is right associative.
So option B is correct. 

注意:以上是绘制后可以观察到的快捷技巧
很少的解析树。
也可以通过绘制解析树来找出正确答案。
这个问题的测验