A.布尔表达式在程序中可以用于逻辑演算、以及将逻辑计算的结果用作控制语句的条件B.在不同的程序设计语言中,布尔表达式的计算规则是一样的C.在不同的程序设计语言中,布尔表达式的计算规则可能是不同的D.对于一个程序设计语言,布尔表达式的计算可以有不同的翻译方法,但是计算得到的逻辑结果(真假值)应当是一样的
多项选择题产生式E®E1+E2的语义动作中关于E.type的语义规则可定义为:下面的说法正确的是()。
A.整型表达式和整型表达式做加法,结果是整型B.整型表达式和整型表达式做加法,结果是实型C.整型表达式和实型表达式做加法,结果是整型D.整型表达式和实型表达式做加法,结果是实型
多项选择题关于数组元素引用的翻译,下列说法正确的是()。
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