我后天才开始考试。请帮助我解决这个问题并向我解释答案,这样我就可以在考试中完成这个级别的所有问题。
语法
E-> E/X | X
X-> T-X | X*T | T
T-> T+F | F
F-> (E) | id
id stands for identifier.
Q1:以上语法用于以假设语言生成所有有效的算术表达式
a. / associates from the left
b. * associative from the left
c. + associative from the left
d. all of these
问题2:以上语法用于以假设语言生成所有有效的算术表达式
a. + has the highest precedence
b. * has the highest precedence
c. - has the highest precedence
d. / has the highest precedence
答案 0 :(得分:3)
让我们把水平放在每个陈述
E-> E/X | X....................1(root)
X-> T-X | X*T | T..............2
T-> T+F | F....................3
F-> (E) | id...................4
<强>优先级强>
处于最高级别的op具有最大优先级 所以 id,(,)具有最高优先级,然后是+ - ,* then /
所以+根据选项具有最高优先级
<强>结合性强>
注意A-&gt; Ax是递归的,A-xA是右递归语法 现在
E-> E/X is left recursive so / is left associated
X-> T-X is right recursive so - is right associated
X-> X*T is left recursive so / is left associated
T-> T+F | F is left recursive so / is left associated
所以Q1的答案是d:)