赞
踩
一、
1、在使用高级语言编程时,首先可通过编译程序发现源程序的全部
a. 语法
2、 要在某台机器上为某种语言构造编译程序,必须掌握下述那些内容____。
a.
e.
①abf
3、用高级语言书写的源程序 都 必须通过编译,产生目标代码后才能投入运行。这种说法_____。
a. 正确
4、文法G所描述的语言是_____的集合。
a.
b.
c.
d.
5、给定文法, A::= bA | cc, 下面哪些符号串可由其推导出_____。
① cc
可选项有:
a.①
6、一个语言的文法是_____。
a.有限的
7、若一个文法是递归的,则它所产生语言的句子个数______。
a.必定是无穷的
8、语法分析常用的方法是_____。
① 自顶向下
可选项有:
a.①②③④
9、LR(k)方法是______。
a. 从左到右分析,每次走k步的一种编译方法。
b. 从左到右分析,共经过k步的一种编译方法。
c. 从左到右分析,每次向前预测k步的一种编译方法。
d. 从左到右分析,是否归约句柄要向后看k个输入符号的一种编译方法。
10(选2个)、在编译过程中,符号表的主要作用是_____。
a. 帮助错误处理
d. 辅助代码生成
11、LL(1)文法的条件是______。
b.
12、LR(k)文法_______二义性的。
a.都是
13、描述语言 L= { ambn |
a. Z::=Abb
b. Z::=AB | b
c. Z::=Ab
d. Z::=aAb
14、一个句型中的可归前缀为______。
a.短语
d.规范前缀,且句柄位于该规范前缀的后端
15、Chmosky的3型语言是这样一种语言,其产生式限制为____。
a.A::= π
c.α::=β
16、高级语言编译程序常用的语法分析方法中,LL分析法属于______分析方法。
a.自左至右
17、LL(1) 分析法的名字中,第一个“L”的含义是_____,第二个“L”的含义是______。
a.自左至右
18、设有文法G[S]:
a. 是
19、动态存储分配时,可以采用的分配方法有 ______。
(1) 过程为单位的栈式动态存储分配
(2)
(3)
a. (1)
20. 过程调用时,参数的传递方法通常有________。
21. 在编译方法中, 动态存储分配的含义是什么? 可选项有____.
a.在运行阶段对源程序中的量进行分配
b.在编译阶段对源程序中的量进行分配
c.在编译阶段对源程序中的量进行分配,在运行时这些量的地址可以根据需要改变
d.以上都不正确
22. 过程信息表中至少应该包括有 _________。
(1) 过程名
(4) 过程首部在源程序中的行号
可选项有:
a.(1)(2)(3)
23. 程序基本块是指
(1)
(2)
(3)
(4)
可选项有:
二、
E
A
1、分别求出该文法的Vn、Vt、Follow(E) 和 Follow(A) 集合。
2、试用最右推导验证
3、试用画句子语法树的方法,说明该文法是否有二义性。
4、采用LL法分析时,是否需要消除左递归,怎样消除? 若用LR法分析呢?
三、
for
{
a=x+y+z;
b=x-y;
c=c+a*b;
}
试写出其展开式、三元式和优化后三元式。
四、
(1)
(2)
(3)
(4)
(5)
(6)
(7)
构造其LR(0)分析表并利用此分析表判断符号串acccd 是否为文法G[S]的句子。
五(13分)、在一个移入-归约的分析中采用以下的语法制导翻译模式,在按一产生式归约时,立即执行括号中的动作。
A-> aB
A->c
B->Ab
当分析器的输入为aacbb时,打印的字符串是什么?用正则式描述该文法产生的语言。打印的字符串结果有什么特征?
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。