编译原理试卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、填空题(每题3分,共15分)
1.编译原理是一种翻译程序,它将高级语言编写的源程序翻译成等价的机器语言或汇编
语言的目标程序
2.整个编译过程可以分为五个阶段,分别是:词法分析、语法分析、语义分析及中
间代码生成、代码优化和目标代码的生成。
3.设X是符号串,符号串的幂运算X0= ε
4.乔姆斯基把文法分为四种类型,即0型、1型、2型、3型文法。2型文法也称为
上下文无关文法
5.采用递归下降分析法进行语法分析,要求文法是文法。
二、选择题(每题3分,共15分)
1.若文法G定义的语言是无限集,则文法必然是(D)。
A.上下文无关文法
B.正规文法
C.二义性文法
D.递归文法
2.文法G产生的()的集合是该文法的描述语言。
A.句型
B.终结符集
C.非终结符集
D.句子
3.通常程序设计语言的词法规则可用正规式描述,词法分析器可用(B)来实现。
A.语法树
B.有穷自动机
C.栈
D.数组
4.设有文法G[S]:S→Bb│b,B→bS,该文法所描述的语言是(C)
A. b n,n≥0
B.b2n,n≥0
C.b2n+1,n≥0
D.b2n+1,n≥1
5.用1代表字母,d代表数字,则定义标识符单词的正规式是(C)
A.1d*
B.11*
C.1(1│d)*
D.11*│d*
三、判断题(每小题2分,共10分)
()给定一个文法,就能从结构上唯一地确定其语言,给定一种语言,就能唯一地确定其文法。
()用二义性文法定义的语言也是二义性的。
()正规式、正规文法、有穷自动机都是描述正规集的工具,它们的描述能力是等价的,它们之间是可以相互转换的。
()采用自下而上分析法进行语法分析需要消除文法的递归性。
()算符优先文法中,任何两个终结符对(a,b)在·>,<·和=·这三种关系中只有一种关系成立。
四、应用题(共60分)
1.已知语言L={ab n a│n≥0},设计一个文法来描述该语言。(5分)
2.设有文法G[S]:S→AB,A→A0│1B,B→0│S1,写出句子101001的规范推到。(5分)3.将正规式R=1(0│1)*10转换成相应的正规文法。(5分)
4.给定文法G[R]:R→R+A│A
A→A·B│B
B→B*│D
D→(R) │a│b,给出句型“B(R)+a·b”的语法树,并指出此句型的所有短语、直接短语、句柄。(15分)
5.构造识别语言R=(aa│bb)(a│b)*a的NFA N,使L(N)=L(R)
6.将下图的NFA N确定化为DFA M。(10分)
7.将下图的DFA M化简,得到最小化的DFA M’。(10分)