《编译原理》(A)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2013届毕业生毕业前补考
《编译原理》试卷
注意事项:本试卷适用于09级本科、11级专升本计算机科学与技术、软件工程专业学生。

一、单项选择题(在下列每题的四个选项中,只有一
个选项是符合试题要求的。

请把答案填入答题框中相
应的题号下。

每小题1分,共15分)
1.编译的基本任务是()。

A.将源语言程序翻译成目标语言程序
B.将源语言程序翻译成等价的目标语言程序
C.将高级语言翻译成机器语言
D.将高级语言翻译成等价的机器语言
2.构造编译程序应掌握()。

A.源程序B.目标语言
C.编译方法D.以上三项都是
3.一个规范句型的句柄是它的()。

A.最左直接短语B.最左素短语
C.任意直接短语D.任意素短语4.给定文法G:A→xAx|y,其描述的语言是()。

A.xyx B.xy n x C.x n yx n D.x n yx
5.一个最小化的DFA是()。

A.无多余状态的DFA
B.无等价状态的DFA
C.既无多余状态又无等价状态的DFA
D.任意确定化有穷自动机
6.设有语言L={α|α∈{a,b}+,且α不以b开头,但以bb结尾},描述该语言的正规表达式为()。

A.abb B.a(a|b)*bb C.aa*b*bb D.a(a*|b*)bb
7.产生正规语言的文法为()。

A.0型B.1型C.2型D.3型
8.使用()可以定义一个程序的意义。

A.语义规则B.词法规则
C.产生规则D.语法规则
9.以下()不是优化技术。

A.删除公共子表达式B.强度削弱
C.局部优化D.循环不变运算外提
10.中间代码生成时所遵循的是()。

A.语法规则B.词法规则
C.语义规则D.等价变换规则
11.局部优化是在基本块上进行的优化,所谓基本块是指()。

A.一个入口、一个出口、顺序执行的语句序列B.循环体
C.一个入口、一个出口的语句序列D.分程序12.给定文法G:Z→bMb
M→(L|a
L→Ma)
则b和(的优先关系为()。

A.b( B.b( C.b( D.不存在优先关系13.由文法的开始符号经0步或多步推导产生的文法符号序列是()。

A.短语B.句柄C.句型D.句子14.以下()不是数据空间的存储分配策略。

A.静态存储分配B.栈式动态存储分配
C.堆式动态存储分配D.页式存储分配15.规范归约指()。

A. 最左推导的逆过程
B. 最右推导的逆过程
C. 规范推导
D. 最左归约的逆过程
二、简答题(每题6分,共24分)
1.简述编译的整个过程。

编译由六个阶段组成,分别是词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成。

2.简述符号表的功能。

符号表的作用:收集符号属性、上下文予以分析的依
据、目标代码生成时地址分配的依据。

3.给出算术表达式a*(b+c*d)/a的逆波兰式。

abcd*+*a/ 4.给定如下中间代码(四元式形式描述),若对其划分基本块,则入口语句有哪些?
○1 s=0 ○8 if i<n goto○10
○2 a=4 ○9 return s
○3 i=0 ○10 t=a*b
○4 if k==0 goto○7○11 s=s+t
○5 b=1 ○12 i=i+1
○6 goto○8○13 goto○8
○7 b=2
1 5 7 8 9 10
三、文法题(共25分)
1.设有语言L={1n0m1m0n|m,n>=0},构造文法以描述该语言。

(5分)
2.给定文法G:ifstmt → if A then ifstmt
ifstmt → if A then ifstmt else ifstmt 该文法是二义文法吗?请给出证明。

(5分)
3.给定文法G[S]:S→(T)|a|ε
T→S|T,S
(1)给出句型(a,(T),(T,S))的语法树。

(3分)
(2)给出句型(a,(T),(T,S))的短语、直接短语、句柄。

(9分)(3)给出句型(a,(T),(T,S))的素短语、最左素短语。

(3分)四、词法分析题(共11分)
给定正规式ab(a|b)*a
(1)该正规式描述的单词有什么特点?(2分)
(2)构造该正规式对应的NFA,画出该NFA的状态转换图。

(4分)(3)将(2)所得NFA确定化,画出确定后的DFA状态转换图。

(5分)由ab组成。

以ab开头,以a结尾;中间可以有任意个a、 b
五、语法分析题(共25分)
1.给定文法G[S]:S→(A)|aAb
A→eA’|dSA’
A’→dA’|ε
(1)请填写表格中空白处。

(3分)
(2)计算每个产生式对应的Select集合。

(6分)(3)该文法是LL(1)文法吗?(2分)
2.给定文法G[S]:S→{A}
A→Ad|dBe
B→eAd|eAc|e
(1)构造该文法的LR(0)项目集规范族。

(8分)(2)该文法是LR(0)文法吗?请给出理由。

(3分)
(3)该文法是SLR(1)文法吗?请给出理由。

(3分)。

相关文档
最新文档