2-1
中间代码生成所依据的是( )。(4分)
- 语法规则
- 词法规则
- 语义规则
- 等价变换规则
2-2
四元式之间的联系是通过( )实现的。 (4分)
- 指示器
- 临时变量
- 符号表
- 程序变量
2-3
终结符具有( )属性。 (4分)
- 抽象
- 传递
- 综合
- 继承
2-4
以下说法正确的是( )。 (4分)
- 语义规则中的属性有两种:综合属性与继承属性
- 终结符只有继承属性,它由词法分析器提供
- 非终结符可以有综合属性,但不能有继承属性
- 属性值在分析过程中可以进行计算,但不能传递
2-5
四元式表示法的优点为( )。 (4分)
- 不便于优化处理,但便于表的更动
- 不便于优化处理,但节省存储空间
- 便于优化处理,也便于表的更动
- 便于表的更动,也节省存储空间
2-6
文法符号的属性有两种,一种称( ),另一种称为( )。 (4分)
- 继承属性 综合属性
- 抽象属性 综合属性
- 传递属性 抽象属性
- 抽象属性 派生属性
2-7
用( )可以把a:=b+c翻译成四元式序列。 (4分)
- 语法规则
- 词法规则
- 语义规则
- 等价变换规则
2-8
有文法G及其语法制导翻译如下所示( 语义规则中的*和+分别是常规意义下的算术运算符):
E→E1∧ T { E.val = E1.val * T.val }
E→T { E.val = T.val }
T→T1# n { T.val = T1.val + n.val }
T→ n { T.val = n.val }
则分析句子 2 ∧ 3 # 4其值为( )。 (8分)
- 10
- 34
- 14
- 54
2-9
使用( )可以定义一个程序的意义。 (4分)
- 语义规则
- 词法规则
- 产生规则
- 词法规则
2-10
下面()语法制导翻译中,不采用拉链—回填技术。 (4分)
- 赋值语句
- 布尔表达式
- 条件语句
- 循环语句
2-11
有文法G及其语法制导翻译如下所示( 语义规则中的*和+分别是常规意义下的算术运算符):
E→E1 ∧ T {E.val = E1.val * T.val}
E→T {E.val = T.val}
T→T1# n {T.val = T1.val + n.val }
T→ n {T.val = n.val}
则分析句子3 ∧ 3 # 4其值为()。(8分)
- 10
- 21
- 14
- 24
3-1
8-1已知表达式a+b∗c+(d+e)/f, 翻译成三地址代码序列,假设从100开始编号,选择合适的选项将下表补充完整。 (15分)

- T1:=b*c
- T2:=a+T1
- T3:=d+e
- T4:=T3/f
- T5:=T2+T4
- T2:=d+e
- T3:=T2/f
- T4:=a+T1
- T5:=T4+T3
3-2
9-1将下列语句采用“拉链-回填”的思想翻译成四元式序列,选择合适的选项将下表补充完整。(20分)
while a<b and c<d do
if x>0 then x:=y+z else x:=y-z

- (j<,a,b,102)
- (j, _ ,_, 112)
- (j<,c,d,104)
- (j,_,_,112)
- (j>,x,0,106)
- (j,_,_,109)
- (+,y,z,T1)
- (:=,T1,_,x)
- (j,_,_,100)
- (-,y,z,T2)
- (:=,T2,_,x)
- (j,_,_,100)
- .......
- (j,_,_,102)
- (j,_,_,104)
- (j,_,_,111)
- (j,_,_,108)
- (:=,T1,x,100)
- (:=,T2,x,100)
- (-,z,y,T2)
- (+,z,y,T1)
- (j<,a,b,106)
- (j<,c,d,106)
3-3
8-3已知表达式(a+b)/(a-b)-a-(a+b∗c),翻译成三地址代码序列,假设从100开始编号,选择合适的选项将下表补充完整。 (15分)

- T1:=a+b
- T2:=a-b
- T3:=T1/T2
- T4:=T3-a
- T5:=b * c
- T6:=a+T5
- T7:=T4-T6
- T4:=b*c
- T5:=a+T4
- T6:=T3-a
- T7:=T6-T5
- T1:=a-b
- T2:=a+b
- T3:=T2/T1
该内容涉及编译原理中的中间代码生成和语义分析概念。主要讨论了语义规则如何指导中间代码生成,四元式之间的联系,终结符和非终结符的属性,以及属性值的计算和传递。此外,还提到了四元式表示法的优缺点,并通过具体的例子展示了如何将表达式转换为三地址代码和四元式序列。同时,探讨了语法制导翻译,包括拉链-回填技术的应用和不同类型的语法制导翻译规则。
&spm=1001.2101.3001.5002&articleId=103183672&d=1&t=3&u=554d50ed43964d67851f5f4499b41e0d)
4万+

被折叠的 条评论
为什么被折叠?



