编译原理期末复习题(含答案)

模拟习题1

一、单项选择题

1、将编译程序分成若干个“遍”是为了 。 a.提高程序的执行效率 b.使程序的结构更加清晰

c.利用有限的机器内存并提高机器的执行效率 d.利用有限的机器内存但降低了机器的执行效率 2、构造编译程序应掌握 。 a.源程序 b.目标语言 c.编译方法 d.以上三项都是 3、变量应当 。 a.持有左值 b.持有右值

c.既持有左值又持有右值 d.既不持有左值也不持有右值 4、编译程序绝大多数时间花在 上。 a.出错处理 b.词法分析 c.目标代码生成 d.管理表格 5、 不可能是目标代码。 a.汇编指令代码 b.可重定位指令代码 c.绝对指令代码 d.中间代码 6、使用 可以定义一个程序的意义。 a.语义规则 b.词法规则 c.产生规则 d.词法规则 7、词法分析器的输入是 。 a.单词符号串 b.源程序 c.语法单位 d.目标程序 8、中间代码生成时所遵循的是- 。 a.语法规则 b.词法规则 c.语义规则 d.等价变换规则 9、编译程序是对 。 a.汇编程序的翻译 b.高级语言程序的解释执行 c.机器语言的执行 d.高级语言的翻译 10、语法分析应遵循 。 a.语义规则 b.语法规则 c.构词规则 d.等价变换规则 解答

1、将编译程序分成若干个“遍”是为了使编译程序的结构更加清晰,故选b。 2、构造编译程序应掌握源程序、目标语言及编译方法等三方面的知识,故选d。 3、对编译而言,变量既持有左值又持有右值,故选c。 4、编译程序打交道最多的就是各种表格,因此选d。

5、目标代码包括汇编指令代码、可重定位指令代码和绝对指令代码3种,因此不是目标代码的只能选d。

6、词法分析遵循的是构词规则,语法分析遵循的是语法规则,中间代码生成遵循的是语义规则,并且语义规则可以定义一个程序的意义。因此选a。 7、b 8、c 9、d 10、c

1

二、多项选择题

1、编译程序各阶段的工作都涉及到 。 a.语法分析 b.表格管理 c.出错处理 d.语义分析 e.词法分析

2、编译程序工作时,通常有 阶段。 a.词法分析 b.语法分析 c.中间代码生成 d.语义检查 e.目标代码生成 解答

1.b、c 2. a、b、c、e 三、填空题

1、解释程序和编译程序的区别在于 。

2、编译过程通常可分为5个阶段,分别是 、语法分析 、代码优化和目标代码生成。 3、编译程序工作过程中,第一段输入是 ,最后阶段的输出为 程序。

4、编译程序是指将 程序翻译成 程序的程序。 解答

是否生成目标程序 2、词法分析 中间代码生成 3、源程序 目标代码生成 4、源程序 目

标语言

2

模拟习题2

一、单项选择题

1、文法G:S→xSx|y所识别的语言是 。

nn a. xyx b. (xyx)* c. xyx(n≥0) d. x*yx* 2、文法G描述的语言L(G)是指 。

α , α∈VT*} *α, α∈V*} a. L(G)={α|S+b. L(G)={α|S??T*+ c. L(G)={α|S?α,α∈(VT∪VN*)} d. L(G)={α|S?α, α∈(VT∪VN*)}

3、有限状态自动机能识别 。 a. 上下文无关文法 b. 上下文有关文法

c.正规文法 d. 短语文法

4、设G为算符优先文法,G的任意终结符对a、b有以下关系成立 。 a. 若f(a)>g(b),则a>b b.若f(a)

c. a~b都不一定成立 d. a~b一定成立

5、如果文法G是无二义的,则它的任何句子α 。 a. 最左推导和最右推导对应的语法树必定相同

b. 最左推导和最右推导对应的语法树可能不同 c. 最左推导和最右推导必定相同

d. 可能存在两个不同的最左推导,但它们对应的语法树相同

6、由文法的开始符经0步或多步推导产生的文法符号序列是 。 a. 短语 b.句柄 c. 句型 d. 句子 7、文法G:E→E+T|T

T→T*P|P P→(E)|I

则句型P+T+i的句柄和最左素短语为 。 a.P+T和i b. P和P+T c. i和P+T+i d.P和T 8、设文法为:S→SA|A

A→a|b

则对句子aba,下面 是规范推导。 a. S?SA?SAA?AAA?aAA?abA?aba

b. S?SA?SAA?AAA?AAa?Aba?aba c. S?SA?SAA?SAa?Sba?Aba?aba d. S?SA?Sa?SAa?Sba?Aba?aba 9、文法G:S→b|∧(T) T→T,S|S

则FIRSTVT(T) 。 a. {b,∧,(} b. {b,∧,)}

c.{b,∧,(,,} d.{b,∧,),,}

10、产生正规语言的文法为 。

a. 0型 b. 1型 c. 2型 d. 3型 11、采用自上而下分析,必须 。 a. 消除左递归 b. 消除右递归 c. 消除回溯 d. 提取公共左因子 12、在规范归约中,用 来刻画可归约串。 a. 直接短语 b. 句柄 c. 最左素短语 d. 素短语 13、有文法G:E→E*T|T

T→T+i|i

句子1+2*8+6按该文法G归约,其值为 。

a. 23 B. 42 c. 30 d. 17 14、规范归约指 。 a. 最左推导的逆过程 b. 最右推导的逆过程 c. 规范推导 d. 最左归约的逆过程 [解答]

1、选c。

2、选a。 3、选c。 4、虽然a与b没有优先关系,但构造优先函数后,a与b就一定存在优先关系了。所以,由f(a)>g)(b)

3

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4