编译原理模拟试卷及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模拟试题四
发表日期:2009年6月14日出处:admin 作者:编译原理课程小组编辑:admin 阅读数:406
一、选择题(50分,每空2分, 无特别说明的均为单选题)
1、在使用高级语言编程时,首先可通过编译程序发现源程序的全部错误。
a. 语法
b. 语义
c. 语用
d. 运行
2、要在某台机器上为某种语言构造编译程序,必须掌握下述那些内容____。
a. 汇编语言
b. 高级语言
c. 源语言
d. 目标语言
e. 程序设计方法学
f. 机器语言
g. 编译方法
①abf ②afg ③cdg ④efg
3、用高级语言书写的源程序都必须通过编译,产生目标代码后才能投入运行。这种说法_____。
a. 正确
b. 不正确
c. 不一定
d. 都不对
4、文法G所描述的语言是_____的集合。
a. 文法G的字汇表V中所有符号组成的符号串
b. 文法G的字汇表V的闭包V*中的所有符号串
c. 由文法的识别符号推出的所有符号串
d. 由文法的识别符号推出的所有终结符号串
5、给定文法, A::= bA | cc, 下面哪些符号串可由其推导出_____。
①cc ②b*cc ③b*cbcc ④bccbcc ⑤bbbcc
可选项有:
a.①
b.①③④⑤
c.①⑤
d.①②⑤
e.①②③④⑤
6、一个语言的文法是_____。
a.有限的
b.不唯一的
c.唯一的
7、若一个文法是递归的,则它所产生语言的句子个数______。
a.必定是无穷的
b.是有限个的
c.根据具体情况而定
8、语法分析常用的方法是_____。
①自顶向下②自底向上③自左向右④自右向左
可选项有:
a.①②③④
b.①②
c.③④
d.①②③
9、LR(k)方法是______。
a. 从左到右分析,每次走k步的一种编译方法。
b. 从左到右分析,共经过k步的一种编译方法。
c. 从左到右分析,每次向前预测k步的一种编译方法。
d. 从左到右分析,是否归约句柄要向后看k个输入符号的一种编译方法。10(选2个)、在编译过程中,符号表的主要作用是_____。
a. 帮助错误处理
b. 辅助语法错误的检查
c. 辅助语义的正确性检查
d. 辅助代码生成
e. 辅助对目标程序的优化
11、LL(1)文法的条件是______。
a. 对形如U::=x1 | x2 | …| xn 的规则,要求First(xi)∩First(xj)=Φ,(i≠j);
b. 对形如U::=x1 | x2 | …| xn 的规则,若xi=>*ε, 则要求First(xj)∩Follow(U)=Φ,(i≠j)
c. a 和b
d. 都不是
12、LR(k)文法_______二义性的。
a.都是
b.都不是
c.不一定都是
13、描述语言L= { ambn | n≥m≥1 } 的文法为_____。
a. Z::=Abb A::=aA | a B::=bB | b
b. Z::=AB | b A::=Aa | a B::=aBb | b
c. Z::=Ab A::=aAb | a
d. Z::=aAb A::=Ab | aAb | ε
14、一个句型中的可归前缀为______。
a.短语
b.简单短语
c.句柄
d.规范前缀,且句柄位于该规范前缀的后端
15、Chmosky的3型语言是这样一种语言,其产生式限制为____。
a.A::= π
b. A::=a A::=aB
c.α::=β
d. αAβ::=απβ
16、高级语言编译程序常用的语法分析方法中,LL分析法属于______分析方法。
a.自左至右
b.自顶向下
c.自底向上
d.自右至左
17、LL(1) 分析法的名字中,第一个“L”的含义是_____,第二个“L”的含义是______。
a.自左至右
b.自顶向下
c.自底向上
d.自右至左
18、设有文法G[S]: S-> S*S | S+S | (S) | a, 该文法_____二义性文法。
a. 是
b. 不是
c. 不一定
19、动态存储分配时,可以采用的分配方法有______。
(1) 过程为单位的栈式动态存储分配
(2) 堆存储分配
(3) 最佳分配方法
a. (1)
b. (2)
c. (2)(3)
d. (1)(2)(3)
20. 过程调用时,参数的传递方法通常有________。
(1) 传值(2) 传地址(3) 传结果(4) 传名
a. (1)(2)
b.(1)(2)(3)
c. (1)(2)(4)
d. (1)(2)(3)(4)
21. 在编译方法中, 动态存储分配的含义是什么? 可选项有____.
a.在运行阶段对源程序中的量进行分配
b.在编译阶段对源程序中的量进行分配
c.在编译阶段对源程序中的量进行分配,在运行时这些量的地址可以根据需要改变
d.以上都不正确
22. 过程信息表中至少应该包括有_________。
(1) 过程名(2) 过程的静态层次(3) 过程入口地址
(4) 过程首部在源程序中的行号(5) 有关过程参数的信息
可选项有:
a.(1)(2)(3)
b.(1)(3)(4)
c.(1)(2)(3)(4)
d.(1)(3)(5)
e.(1)(2)(3)(4)(5)
23. 程序基本块是指________。
(1) 一个子程序
(2) 一个仅有一个入口和一个出口的语句
(3) 一个没有嵌套的程序段
(4) 一组顺序执行的程序段,仅有一个入口和一个出口
可选项有:
a. (1)
b. (2)
c. (3)
d. (4)
e. (1)(4)
f. (1)(2)
二、(15分)给定文法G[E] 如下所示: