A.编译程序在翻译数组元素引用时,会在生成的代码中插入计算数组元素地址的代码B.编译程序产生数组元素地址计算代码,其中的不变部分与数组的定义相关C.编译程序产生数组元素地址计算代码,其中的可变部分与数组的定义、数组元素引用的下标都相关D.数组元素引用的翻译可以从左到右一遍扫描生成地址计算代码
多项选择题关于下面的赋值语句生成三地址代码的属性文法,说法正确的是()。
A.E .place表示存放E值的单元的名字(地址)B.E .code表示对E求值的三地址语句序列C.S .code代表赋值语句S的三地址代码D.上述属性文法不是S-属性文法
单项选择题某语言的do-while语句的语法形式为S ®do S(1)While E其语义解释为:该语句的一遍扫描翻译模式如下,其中空白处应该填写()。
A.backpatch(E .truelist,nextquad )B.backpatch(E .falselist,nextquad )C.backpatch(E .truelist,U .quad)D.backpatch(E .falselist,U .quad)
单项选择题假设与下图所示的if-then-else的语义对应的属性文法中与产生式S→if E then S1else S2对应的语义规则如下,其中空白处应该填写()。
A.newlabelB.E .trueC.E .falseD.S .next
单项选择题将语句if (A< 0)then while (C>0)do C:=C-D翻译成下面的四元式序列,其中空白处应该填写()。
A.(j,-,-,100)B.(j,-,-,102)C.(j,-,-,104)D.(j,-,-,107)
单项选择题将布尔表达式(A>B)and (B< C)or (E < F)翻译成下面的四元式序列,其中空白处应该填写()。
A.(j,-,-,102)B.(j,-,-,104)C.(j,-,-,106)D.(j,-,-,112)