考虑以下生产规则定义的语法,其中两个运算符∗和+
S --> T * P
T --> U | T * U
P --> Q + P | Q
Q --> Id
U --> Id
以下哪一项是TRUE?
(A) +是左联想,而*是右联想
(B) +是右联想,而*是左联想
(C) +和∗都是正确的关联
(D) +和∗都保持关联
答案: (B)
说明:从语法上,我们可以通过查看语法来找到联想。
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.
注意:以上是绘制后可以观察到的快捷方式
少数解析树。
人们还可以通过绘制分析树找出正确的答案。
这个问题的测验