欢迎来到天天文库
浏览记录
ID:15361631
大小:166.37 KB
页数:8页
时间:2018-08-02
《编译原理试题答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、装订线编译原理期末测试题专业班级:_________学号:_________姓名:__________总分得分一、单项选择题(共10小题,每小题2分)(题分20分)1.语言是A.句子的集合B.产生式的集合C.符号串的集合D.句型的集合2.编译程序前三个阶段完成的工作是A.词法分析、语法分析和代码优化B.代码生成、代码优化和词法分析C.词法分析、语法分析、语义分析和中间代码生成D.词法分析、语法分析和代码优化3.一个句型中称为句柄的是该句型的最左A.非终结符号B.短语C.句子D.直接短语4.下推自
2、动机识别的语言是A.0型语言B.1型语言C.2型语言D.3型语言5.扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即A.字符B.单词C.句子D.句型6.对应Chomsky四种文法的四种语言之间的关系是A.L0ÌL1ÌL2ÌL3B.L3ÌL2ÌL1ÌL0C.L3=L2ÌL1ÌL0D.L0ÌL1ÌL2=L37.词法分析的任务是A.识别单词B.分析句子的含义C.识别句子D.生成目标代码8.常用的中间代码形式不含A.三元式B.四元式C.逆波兰式D.语法树9.代码优化的目
3、的是A.节省时间B.节省空间C.节省时间和空间D.把编译程序进行等价交换10.代码生成阶段的主要任务是A.把高级语言翻译成汇编语言B.把高级语言翻译成机器语言C.把中间代码变换成依赖具体机器的目标代码D.把汇编语言翻译成机器语言得分二、填空题(本大题共5小题,每小题2分)(题分10分)1.编译程序首先要识别出源程序中每个(),然后再分析每个()并翻译其意义。2.编译器常用的语法分析方法有()和()两种。3.通常把编译过程分为分析前端与综合后端两大阶段。词法、语法和语义分析是对源程序的(),中间代
4、码生成、代码优化与目标代码的生成则是对源程序的()。4.程序设计语言的发展带来了日渐多变的运行时存储管理方案,主要分为两大类,即:()方案和()方案。5.对编译程序而言,输入数据是(),输出结果是()。得分三、名词解释题(共5小题,每小题4分)(题分20分)1.词法分析2.LL(1)文法3.语法树4.LR(0)分析器5.语言和文法得分四、简答题(共4小题,每小题5分)(题分20分)1.编译程序和高级语言有什么区别?2.编译程序的工作分为那几个阶段?3.简述自下而上的分析方法。4.简述代码优化的目
5、的和意义。五、综合应用题(共3小题,每小题10分)(题分30分)得分1.证明下述文法G:S®aSbS
6、aS
7、d是二义性文法。2.对于文法G[S]:S®AB,A®Aa
8、bB,B®a
9、Sb求句型baSb的全部短语、直接短语和句柄?句型baSb的语法树如图五(2)所示。SBbBSabA图五(2)句型baSb的的语法树3.设有非确定的有自限动机NFAM=({A,B,C},{0,1},d,{A},{C}),其中:d(A,0)={C}d(A,1)={A,B}d(B,1)={C}d(C,1)={C}。请画出状
10、态转换距阵和状态转换图。参考答案一、单项选择题(共10小题,每小题2分,共20分)1.语言是A.句子的集合B.产生式的集合C.符号串的集合D.句型的集合2.编译程序前三个阶段完成的工作是A.词法分析、语法分析和代码优化B.代码生成、代码优化和词法分析C.词法分析、语法分析、语义分析和中间代码生成D.词法分析、语法分析和代码优化3.一个句型中称为句柄的是该句型的最左A.非终结符号B.短语C.句子D.直接短语4.下推自动机识别的语言是A.0型语言B.1型语言C.2型语言D.3型语言5.扫描器所完成的
11、任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即A.字符B.单词C.句子D.句型6.对应Chomsky四种文法的四种语言之间的关系是A.L0ÌL1ÌL2ÌL3B.L3ÌL2ÌL1ÌL0C.L3=L2ÌL1ÌL0D.L0ÌL1ÌL2=L37.词法分析的任务是A.识别单词B.分析句子的含义C.识别句子D.生成目标代码8.常用的中间代码形式不含A.三元式B.四元式C.逆波兰式D.语法树9.代码优化的目的是A.节省时间B.节省空间C.节省时间和空间D.把编译程序进行等价交换10.代码
12、生成阶段的主要任务是A.把高级语言翻译成汇编语言B.把高级语言翻译成机器语言C.把中间代码变换成依赖具体机器的目标代码D.把汇编语言翻译成机器语言二、填空题(本大题共5小题,每小题2分,共10分)1.编译程序首先要识别出源程序中每个(单词),然后再分析每个(句子)并翻译其意义。2.编译器常用的语法分析方法有(自底向上)和(自顶向下)两种。3.通常把编译过程分为分析前端与综合后端两大阶段。词法、语法和语义分析是对源程序的(分析),中间代码生成、代码优化与目标代码的生成则是对源程序的(综合)。4.程
此文档下载收益归作者所有