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、在一个基本块内,待用的变量一定是活跃的,活跃的变量不一定是待用的。(√)