编译原理习题集与答案解析(整理后)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章
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、编译程序各阶段的工作都涉及到。
a.语法分析b.表格管理c.出错处理
d.语义分析e.词法分析
2、编译程序工作时,通常有阶段。
a.词法分析b.语法分析c.中间代码生成
d.语义检查e.目标代码生成
三、填空题
1、解释程序和编译程序的区别在于。
2、编译过程通常可分为5个阶段,分别是、语法分析、代码优化和目标代码生成。
3、编译程序工作过程中,第一段输入是,最后阶段的输出为程序。
4、编译程序是指将程序翻译成程序的程序。
单选解答
1、将编译程序分成若干个“遍”是为了使编译程序的结构更加清晰,故选b。
2、构造编译程序应掌握源程序、目标语言及编译方法等三方面的知识,故选d。
3、对编译而言,变量既持有左值又持有右值,故选c。
4、编译程序打交道最多的就是各种表格,因此选d。
5、目标代码包括汇编指令代码、可重定位指令代码和绝对指令代码3种,因此不是目标代码的只能选d。
6、词法分析遵循的是构词规则,语法分析遵循的是语法规则,中间代码生成遵循的是语义规则,并且语义规则可以定义一个程序的意义。因此选a。
7、b 8、c 9、d 10、c
多选解答
1.b、c 2. a、b、c、e
填空解答
是否生成目标程序 2、词法分析中间代码生成 3、源程序目标代码生成4、源程序目
标语言
第二章
一、单项选择题
1、文法G:S→xSx|y所识别的语言是。
a. xyx
b. (xyx)*
c. x n yx n(n≥0)
d. x*yx*
2、文法G描述的语言L(G)是指。
a. L(G)={α|S+⇒α , α∈V T*}
b. L(G)={α|S*⇒α, α∈V T*}
c. L(G)={α|S*⇒α,α∈(V T∪V N*)}
d. L(G)={α|S+⇒α, α∈(V T∪V N*)}
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的句柄和最左素短语为。 +T和i b. P和P+T c. i和P+T+i 和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、下面哪些说法是错误的。 a. 有向图是一个状态转换图 b. 状态转换图是一个有向图 c.有向图是一个DFA 可以用状态转换图表示 2、对无二义性文法来说,一棵语法树往往代表了。 a. 多种推导过程 b. 多种最左推导过程 c.一种最左推导过程