关于下面的while-do语句的属性文法,说法正确的是()。
A.E .true和E .false都是综合属性
B.E .true和E .false都是继承属性
C.综合属性S .begin存放E的代码开头的对应的标号
D.继承属性S .next存放语句S的后继语句对应的标号
您可能感兴趣的试卷
你可能感兴趣的试题
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.newlabel
B.E .true
C.E .false
D.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)
将赋值语句A:=B*(-C)+D*(E-F)翻译成下面的三地址代码,其中空白处应该填写()。
A.T3:=T2+D
B.T3:=D *E
C.T3:=E -F
D.T3:=F –E
A.
B.
C.
D.
最新试题
在递归子程序方法中,若文法存在左递归,则会使分析过程产生()
编译程序在其工作过程中使用最多的数据结构是()。它记录着源程序中的各种信息,以便查询或修改。
面向机器语言的特点是()
分析树上的每个分支结点都由()标记。
编译过程中将源代码翻译成中间代码,具有很多优点,其中()不是中间代码的优点。
关于短语和句柄,正确的论述是()
一个语法的文法是()
词法分析器的另一个名称是()
若在C语言程序中出现“aa 11 bb=123;”,且不出现在引号和注释里,在编译时会()
关于嵌套层次表display表描述正确的是()