预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

编译原理期末测试题专业班级:___________学号:____________姓名:____________总分___________一、单项选择题(共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.扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即A.字符B.单词C.句子D.句型6.对应Chomsky四种文法的四种语言之间的关系是A.LLLLOCIC2C3B・LCLCLICL32CC.L3=L<ULIULOD・LocLiuL^Ls7.词法分析的任务是A.识别单词B.分析句子的含义C.识别句子D.生成目标代码&常用的中间代码形式不含A.三元式B.四元式C.逆波兰式D.语法树9.代码优化的目的是A.节省时间B.节省空间C・节省时间和空间D.把编译程序进行等价交换料.10.代码生成阶段的主要任务是A.把高级语言翻译成汇编语言B.把高级语言翻译成机器语言C.把中间代码变换成依赖具体机器的目标代码D.把汇编语言翻译成机器语言二、填空题(本大题共5小题,每小题2分)(题分10分)丨得分1.编译程序首先要识别出源程序中每个(),然后再分析每个()并翻译其意义。)两2.编译器常用的语法分析方法有()和(种。3.通常把编译过程分为分析前端与综合后端两大阶段。词法、语法和语义分析是对源程序的(),中间代码生成、代码优化与目标代码的生成则是对源程序的()。4.程序设计语言的发展带来了日渐多变的运行时存储管理方案,主要分为两大类,即:()方案和()方案。5.对编译程序而言,输入数据是(),输出结果是()。三、名词解释题洪5小题,每小题4分)(题分20分)1.词法分析2.LL⑴文法3•语法树4.LR(0)分析器5.语言和文法四、简答题(共4小题,每小题5分)(题分20分)1.编译程序和高级语言有什么区别?2.编译程序的工作分为那几个阶段?3.简述自下而上的分析方法。4.简述代码优化的目的和意义。料.五、综合应用题(共3小题,每小题10分)(题分30分)1・证明下述文法G:S->aSbS|aS|d是二义性文法。2.对于文法G⑸:STAB,A->Aa|bB,B->a|Sb求句型baSb的全部短语、直接短语和句柄?句型baSb的语法树如图五⑵所示。图五(2)句型baSb的的语法拥3.设有非确定的有自限动机NFAM二({A,B,C},{0,】},8,{A},{C}),其中:5(A,0)={C}5(A,1)={A,B}8(B,1)={C}5(C,1)={C}O请画出状态转换距阵和状态转换图。料.参考答案一、单项选择题(共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.扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即A.字符B.单词C.句子D.句型6.对应Chomsky四种文法的四种语言之间的关系是A.L0CL1UL2CL3B.LscLgChcLpC.D.LOCLICL=L3L3=L2CLICLC27.词法分析的任务是A.识别单词B.分析句子的含义C.识别句子D.生成目标代码&常用的中间代码形式不含A.三元式B.四元式C.逆波兰式D.语法树9.代码优化的目的是B.节省空间A.节省时间D.把编译程序进行等价交换C.节省时间和空间10.代码生成阶段的主要任务是A.把高级语言翻译成汇编语言B.把高级语言翻译成机器语言c.把中间代码变换成依赖具体机器的目标代码D.把汇编语言翻译成机器语言料.二、填空题(本大题共5小题,每小题2分,共10分)】.编译程序首先要识别出源程序中每个(单词),然后再分析每个(旬土)并翻译其意义。2.编译器常用的语法分析方法有(自底向上)和(自顶向下)两种。3.通常把编译过程分为分析前端与综合后端两大阶段。词法、语法和语义分析是对源程序的(分析),中间代码生成、代码优化与目标代码的生成则是对源程序的(综合)。4.程