选择题(50分,每空2分, 无特别说明的均为单选题)
1、在使用高级语言编程时,首先可通过编译程序发现源程序的全部 错误。
a. 语法 b. 语义 c. 语用 d. 运行
2、 要在某台机器上为某种语言构造编译程序,必须掌握下述那些内容____。
a. 汇编语言 b. 高级语言 c. 源语言 d. 目标语言
程序设计方法学 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.自右至左
LL(1) 分析法的名字中,第一个“L”的含义是_____,第二个“L”的含义是______。
a.自左至右 b.自顶向下 c.自底向上 d.自右至左
设有文法G[S]: S-> S*S | S+S | (S) | a, 该文法_____二义性文法。
a. 是 b. 不是 c. 不一定
19、动态存储分配时,可以采用的分配方法有 ______。
(1) 过程为单位的栈式动态存储分配
堆存储分配
最佳分配方法
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. 程序基本块是指 ________。
一个子程序
一个仅有一个入口和一个出口的语句
一个没有嵌套的程序段
一组顺序执行的程序段,仅有一个入口和一个出口
可选项有:
a. (1) b. (2) c. (3) d. (4) e. (1)(4) f. (1)(2) |