产生式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.
对于翻译模式
编写R的翻译子程序如下:
其中AST_node为抽象语法树(AST)结点类型。关于该子程序实现,下列说法正确的是()。
A.函数R的返回结果是指向抽象语法树结点的指针,指向翻译得到的抽象语法树的根结点
B.R的继承属性i实现为函数的形式参数in
C.如果R与e匹配,则该函数返回null值
D.R的综合属性s实现为函数的返回值
给定属性文法G(P),语法制导定义如下:
假设语法单位P对应程序,D对应声明语句,id对应标识符,T对应类型,按照该属性文法的定义,下列说法中正确的是()。
A.该文法生成的程序只能包含有一个声明语句
B.在该文法生成的程序中,可以在声明语句中声明多个变量名
C.D .i表示D对应的声明语句的数目
D.D .i表示D对应的声明语句中的标识符的数目
最新试题
符号表的查找一般可以使用()①顺序查找②折半查找③杂凑查找④排序查找
对于基本快内Out集合由In集合计算出来,而对于基本块之间,In集合由前驱基本块的Out集合计算出来。这样的数据流问题属于()
在循环内可以实行的优化有()
若有定义二进制数的文法如下:(1)试为该文法构造LR分析表,并说明属哪类LR分析表。(2)给出输入串101.110的分析过程。
面向机器的语言指的是()
LR分析法属于()
符号表常用的操作不包括()
以下()不是中间代码的表示形式。
若在C语言程序中出现“aa 11 bb=123;”,且不出现在引号和注释里,在编译时会()
假设/的优先级高于-,则采用右结合规则时,a-b/c-d可解释为()