|
第 1 页 (共 2 页)
学习中心/函授站_
姓 名 学 号
西安电子科技大学网络与继续教育学院
2020 学年下学期
《编译原理与技术》期末考试试题
(综合大作业)
题号 一 二 三 四 总分
题分 10 20 30 40
得分
考试说明:
1、大作业试题于2020 年10 月15 日公布:
(1)毕业班学生于2020 年10 月15 日至2020 年11 月1 日在线上传大作业答卷;
(2)非毕业班学生于2020 年10 月22 日至2020 年11 月8 日在线上传大作业答卷;
(3)上传时一张图片对应一张A4 纸答题纸,要求拍照清晰、上传完整;
2、考试必须独立完成,如发现抄袭、雷同均按零分计;
3、资料须用《西安电子科技大学网络与继续教育学院标准答题纸》手写完成,要
求字迹工整、卷面干净。
一、单选题(更多资料下载:谋学网(www.mouxue.com) 2 分,共 10 分)
1、编译器和解释器是两种高级语言处理程序,与编译器相比, 。
A.解释器不参与运行控制,程序执行的速度慢
B.解释器参与运行控制,程序执行的速度慢
C.解释器参与运行控制,程序执行的速度快
D.解释器不参与运行控制,程序执行的速度快
2、给定文法 A→bA|ca, 不是该文法句子。
A.bbca B.bcabca C.ca D.bca
3、 是与规范归约(最左归约)互逆的一个过程。
A.最左推导 B.最右推导 C.词法分析 D.语义分析
4、与逆波兰式 abc*+d+对应的中缀表达式是 。
A.a+b+c*d B.(a+b)* c+d C.(a+b)* (c+d) D.a+b*c+d
5、从编译程序的语法分析角度看,源程序是句子的集合, 可以较好地反映句子
的结构。
A.线性表 B.树 C.完全图 D.堆栈
第 2 页 (共 2 页)
二、填空题(每空 2 分,共 20 分)
1、编译程序的工作过程可划分为词法分析、 、 、中间
代码生成、代码优化、 等阶段, 和出错处理是编译
程序各阶段都涉及到的工作。
2、递归下降分析法和预测分析法是 的语法分析方法。
3、用 LR 方法实现语法分析时,典型的操作有__________、__________、接受和报错。
4、识别上下文无关语言的自动机是 。
5、数组元素的地址计算公式由两部分组成,一部分是不变部分,它在
时确定;另一部分是可变部分,它在 时确定。
三、更多资料下载:谋学网(www.mouxue.com)(更多资料下载:谋学网(www.mouxue.com) 10 分,共 30 分)
1、简述从正规式构造词法分析器的一般方法和过程。
2、请列举三种常用的中间代码?采用中间代码有什么好处?
3、下图所示的分析树用到了某个上下文无关文法的所有产生式。
(a) 给出该文法的所有非终结符号集合 N 和终结符号集合 T。
(b) 给出该文法的产生式集合。
S
a A c B
ε
A a B b S c A
c b B d c
四、综合题(40 分)
1、(14 分)有 NFA N 如下图所示。
1 2 3
4
a a
a
a
b
<1> 举两个例子说明该 NFA 可以识别的字符串;
<2> 求出 N 的最小 DFA D;
<3> 给出 N 所识别语言的正规式r。
2、(12 分)设有文法 G[S]:S→aBc|bAB, A→aAb|b, B→b|ε。
<1> 计算非终结符 S、A、B 的 FIRST 和 FOLLOW 集合;
<2> 该文法能否推导出 baabbb,若能,写出其分析树,否则说明原因。
3、(14 分)有上下文无关无法 G[V]和语法制导翻译如下:
(1) V → id {var_no:=var_no+1;}
(2) | id(E) {arr_no:=arr_no+1;}
(3) E → E + V {exp_no:=exp_no+1;}
(4) | V {exp_no:=exp_no+1;}
(a) 给出识别该文法活前缀的 DFA;
(b) 若语义变量var_no、arr_no和exp_no的初值均为1,请给出分析句子id(id+id(id))
之后它们各自的值。 |
|