当前位置:文档之家› 编译原理习题与答案

编译原理习题与答案

编译原理习题与答案
编译原理习题与答案

1、编译程序各个阶段都涉及到的工作是()

A.语义分析

B.语法分析

C.错误处理

D.词法分析

正确答案:C

2、编译程序分成“前端”和“后端”的好处是()

A.使编译程序的结构在逻辑上更为简单明确

B.便于进行与机器无关的代码优化

C.三者都是

D.使编译程序改变目标机更容易

正确答案:C

3、一个句型中的最左()称为该句型的句柄。

A.素短语

B.短语

C. 简单短语

D.终结符号

正确答案:C

4、文法 G 产生的()的全体是该文法描述的语言。

A.句型

B.句子

C.终结符集

D.非终结符集

5、文法 G :S→xSx|y 所识别的语言是()。A.( ) B.( ) C .( ) D.( )

A.(xyx)*

B. x*yx*

C.

x n yx n(n>=0)

D.xyx

正确答案:C

6、若一个文法是递归的,则它所产生的语言的句子( )。

A.个数是常量

B.是可枚举的

C.是无穷多个

D.是有穷多个

正确答案:C

7、两个文法等价是指()。

A.文法中的产生式集合相同

B.文法的终结符号集相同

C.文法所定义的语言相同

D.文法的开始符号相同

正确答案:C

8、有限自动机MI 和 M2 等价是指()。

A.Ml 和 M2 状态数和有向弧条数相等

B.M1 和 M2 所识别的语言集相等

C.Ml 和 M2 的有向弧条数相等

D.MI 和 M2 的状态数相等

9、正规语言的表示方法,包括()。

A.正规式

B.有限自动机

C.其余三者

D.正规文法

正确答案:C

10、词法分析会将()作为结果传给语法分析过程。

A.类别码序列

B.单词序列

C.源程序序列

D.Token序列

正确答案:D

11、语法分析器则可以发现源程序中的()

A.语法错误

B.语义错误

C.错误并校正

D.语法和语义错误

正确答案:A

12、在语法分析处理中, FIRST 集合、 FOLLOW 集合、 SELECT 集合均是()

A.字母表

B.状态集

C.非终极符集

D.终极符集

13、语法分析基于( )文法进行,即识别的是该类文法的句子。

A.正规

B.上下文无关

C.上下文有关

D.0型

正确答案:B

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

A.A┐ B ∨∧CD∨

B.A ┐ B∨CD∨∧

C.AB∨┐ CD∨∧

D.┐ AB∨∧CD∨

正确答案:B

15、语句if(x>0) x=(a-b/2)*c对应的四元式序列为()。

A.(1) (> x 0 t1)

(2) (if t1 _ 7)

(3) (/ b 2 t2)

(4) (- a t2 t3)

(5) (* t3 c t4)

(6) (= t4 _ x)

(7) (ie _ _ _)

B.(1) (> x 0 t1)

(2) (if t1 _ 7)

(3) (- a b t2)

(4) (/ t2 2 t3)

(5) (* t3 c t4)

(6) (= t4 _ x)

(7) (ie _ _ _)

C.(1) (> x 0 t1)

(2) (if t1 _ 6)

(3) (/ b 2 t2)

(4) (- a t2 t3)

(5) (* t3 c t4)

(6) (= t4 _ x)

(7) (ie _ _ _)

D.(1) (> x 0 t1)

(2) (if t1 _ 7)

(3) (/ b 2 t2)

(4) (- a t2 t3)

(5) (* t3 c t4)

(6) (= x _ t4)

(7) (ie _ _ _)

正确答案:A

16、优化可生成( )的目标代码。

A.运行时间短且占用存储空间小

B.运行时间较短

C.运行时间短但占用内存空间大

D.占用存储空间较小

正确答案:A

17、下面哪项不是基本块的出口语句()

A.下一个入口语句的前导语句

B.停语句

C.紧跟在转向语句后面的语句

D.转向语句

正确答案:C

18、按照课件中的虚拟机及其指令系统,当只有一个寄存器R时,设中间代码(/ a

2 t1)为某个基本块的第一条代码,该中间代码对应的目标代码为

A.DIV a,2

B.LD R,a

DIV a,2

C.DIV R,2

D.LD R,a

DIV R,2

正确答案:D

二、填空题

1、编译程序的五个阶段包括词法分析、()、语义分析、代码优化和目标代码生成。正确答案:语法分析

2、编译程序的五个阶段包括()、语法分析、语义分析、代码优化和目标代码生成。正确答案:词法分析

3、中间代码生成时所依据的是()规则。

正确答案:语义

三、判断题

1、一个句型的句柄一定是文法某产生式的右部。(√)

2、如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是二义的。(√)

3、正规文法产生的语言都可以用上下文无关文法来描述。(√)

4、最左归约是最左推导的逆过程。(×)

5、语法分析基于上下文无关文法进行,即识别的是该类文法的句子。(√)

6、任何一个非确定的有限自动机,都可通过有效算法把其转化为等价的确定的有限自动机。(√)

7、一个有限状态自动机中,有且仅有一个唯一的终态。(×)

8、确定的的自动机以及不确定的自动机都能正确地识别正规集。(√)

9、确定的有限自动机不包含ε边。(√)

10、源程序中,以字母开头的一定是关键字。(×)

11、Token的第二元是直接存储单词本身。(×)

12、自底而上语法分析方法的主要问题是候选式的选择。(×)

13、语法分析时必须先消除文法中的左递归。(×)

14、算术表达式语句在语义翻译时不需要回填技术。(√)

15、语法制导翻译的核心技术是构造属性翻译文法,即在原文法产生式中插入语义动作符号,借以指明属性文法中属性求值时机和顺序。(√)

16、语句序列b=a+c; a=2; d=a+c;中a+c是公共表达式。(√)

17、每个基本块只有一个入口和一个出口。(×)

18、目标代码生成时,为了提高效率,应考虑如何充分利用计算机的寄存器的问题。(√)

19、在一个基本块内,待用的变量一定是活跃的,活跃的变量不一定是待用的。(√)

相关主题
文本预览
相关文档 最新文档