编译原理第七章练习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第7节习题

一、单项选择题

1、中间代码生成所依据的是。

a.语法规则

b.词法规则

c.语义规则

d.等价变换规则

2、四元式之间的联系是通过实现的。

a.指示器

b.临时变量

c.符号表

d.程序变量

3、后缀式ab+cd+/可用表达式来表示。

a.a+b/c+d

b.(a+b)/(c+d)

c.a+b/(c+d)

d.a+b+c/d

4、表达式(┓A∨B)∧(C∨D)的逆波兰表示为。

a. ┓AB∨∧CD∨

b. A┓B∨CD∨∧

c. AB∨┓CD∨∧

d. A┓B∨∧CD∨

5

所对应的表达式为。

a.A+B+C+D

b.A+(B+C)+D

c.(A+B)+C+D

d.(A+B)+(C+D)

6、四元式表示法的优点为。

a.不便于优化处理,但便于表的更动

b.不便于优化处理,但节省存储空间

c.便于优化处理,也便于表的更动

d.便于表的更动,也节省存储空间

7、终结符具有属性。

a.传递

b.继承

c.抽象

d.综合

解答

1、选c。

2、四元式之间的联系是通过临时变量实现的,故选b。

3、选b。

4、选b。

5、选d。

6、四元式表示法的优点与间接三元式相同,故选c。

7、选d。

二、多顶选择题

1、中间代码主要有。

a.四元式b.二元式c.三元式d.后缀式e.间接

三元式

2、下面中间代码形式中,能正确表示算术表达式a+b+c 的有 。 a .ab+c+ b .abc++ e .a+b+c

3、在下面的 语法制导翻译中,采用拉链-回填技术。 a .赋值语句 b .goto 语句 c .条件语句 d .循环语句

4、下列 中间代码形式有益于优化处理。 a .三元式 b .四元式 c .间接三元式 d .逆波兰表示法 e .树形表示

5、在编译程序中安排中间代码生成的目的是 。 a .便于进行存储空间的组织 b .利于目标代码的优化

c .利于编译程序的移植

d .利于目标代码的移植

e .利于提高目标代码的质量 6、下面的中间代码形式中, 能正确表示算术表达式

a .ab+c*

b .abc*+

c .a+b*c

7、三地址代码语句具体实现通常有 表示方法。 a .逆波兰表示 b .三元式 c .间接三元式 d .树形表示

e .四元式

解答

1、选a 、c 、d 、e 。

2、b 、d 的中间代码不能正确表示a+b+c ,而e 不是中间代码:故选a 、c 。

3、凡涉及到跳转的语句都需要采用拉链——回填技术,故选 b 、c 、d 。

4、选b 、c 。

5、选b 、d 。

6、选b 、e 。

7、选b 、c 、e 。

三、填空题

1、中间代码有等形式,生成中间代码主要是为了使。

2、语法制导翻译既可以用来产生代码,也可以用来产生指令,甚至可用来对输入串进行。

3、当源程序中的标号出现“先引用后定义”时,中间代码的转移地址须持时才能确定,因而要进行。

4、文法符号的属性有两种,一种称为,另一种称为。

5、后缀式abc-/所代表的表达式是,表达式(a-b)*c可用后缀式表示。

6、用一张辅以的办法来表示中间代码,这种表示法称为间接三元式。

解答

1、逆波兰记号、树形表示、三元式、四元式目标代码的优化容易实现

2、中间目标解释执行

3、标号定义回填

4、继承属性综合属性

5、a/(b-c) ab-c*

6、间接码表三元式表

四、综合题

1、给出下列表达式的逆波兰表示(后缀式):

①a*(-b+c)

②(A∨B)∧(C∨┑D∧E)

2、写出算术表达式:A+B*(C-D)+E/(C-D)↑N的

①四元式序列;②三元式序列;③间接三元式序列

解答1、

①ab@c+*;

②AB∨CD┑E∧∨∧

2、

①表达式的四元式序列:②表达式的三元式序列③间接三元式序列

(1)(-,C,D,T1) (1)(-,C,D) ⑴(1)(-,C,D)

(2)(*,B,T1,T2) (2)(*,B,(1)) ⑵(2)(*,B,(1))

(3)(+,A,T2,T3) (3)(+,A,(2)) ⑶(3)(+,A,(2))

(4)(-,C,D,T4) (4)(-,C,D) ⑴⑷(↑,(1),N)

(5)(↑,T4,N,T5) (5)(↑,(4),N) ⑷⑸(/,E,(4))

⑹(/,E,T5,T6) ⑹(/,E,(5)) ⑸⑹(+,(3),(5))

⑺(+,T3,T6,T7) ⑺(+,(3),(6))⑹

相关文档
最新文档