2023年编译原理期末试卷及答案资料_第1页
2023年编译原理期末试卷及答案资料_第2页
2023年编译原理期末试卷及答案资料_第3页
2023年编译原理期末试卷及答案资料_第4页
2023年编译原理期末试卷及答案资料_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2023-2023学年第一学期期末考试答案及评分标准《编译原理》(B)卷命题教师:毛静命题教师:毛静任课教师:毛静课程代码:22801204合用班级:计本12级教研室主任审核(署名):教学主任(署名):题号一二三四五总分评卷人分值得分得分MACROBUTTONAcceptAllChangesInDoc选择题(每小题2分,共20分)1、编译程序和解释程序的区别是:【B】A、解释程序产生目的程序,编译程序不生成目的代码B、解释程序不产生目的,编译程序生成目的代码ﻩC、解释程序和编译程序都生成目的代码D、解释程序和编译程序2、将编译程序提成若干个“遍”是为了:ﻩ【B】ﻩA、提高程序的执行效率 B、使程序的结构更加清楚ﻩC、运用有限的机器内存并提高机器的执行效率ﻩﻩD、运用有限的机器内存但减少了机器的执行效率3、词法分析器的输出结果是: 【C】A、单词的种别编码 ﻩB、单词在符号表中的位置C、记号流ﻩ D、单词自身值4、编译的各个阶段中,与源程序打交道的阶段是:【C】 A、语法分析ﻩ B、语义分析ﻩC、词法分析 D、代码优化5、语法分析中的立法机构是: 【B】 A、正规式ﻩ B、上下文无关文法C、上下文有关文法 ﻩD、预测分析器6、移近-归约分析表中指导分局发生变化的动作涉及:【C】A、移近、归约ﻩ B、移近、归约、接受C、移近、接受、归约、犯错 ﻩD、移近,归约、犯错7、中间代码生成时所依据的是:ﻩ【A】ﻩA、语义规则 B、词法规则ﻩC、语法规则 D、等价变换规则8、程序所需的数据空间在程序运营前就可拟定,称为:【B】 A、动态存储ﻩﻩB、静态存储ﻩC、栈式存储 ﻩD、堆式存储9、代码生成阶段的重要任务是:【C】 A、把高级语言翻译成汇编语言ﻩB、把高级语言翻译成机器语言 C、把中间代码变换成依赖具体机器的目的代码ﻩ D、把汇编语言翻译成机器语言10、代码优化的方法中不包含: 【D】 A、窥孔优化ﻩ B、强度削弱ﻩC、构造流图ﻩ D、基本块优化得分得分二、MACROBUTTONAcceptAllChangesInDoc填空题(每空1分,共10分)1、每个阶段将程序完整分析一遍的工作模式称为_____一遍扫描_____。2、将高级语言写的源程序翻译成目的语言的程序,这种翻译过程称为编译______。3、若有限自动机M和M’____辨认同一正规集_____,则称M和M’是等价的。4、若文法G对同一句子产生不止一棵分析树,则称文法G___具有二义性___。5、后缀式ab+cd+/可用表达式____(a+b)/(c+d)____来表达。6、程序设计语言的运营时存储管理方案,重要分为两大类,即__静态存储分派___和____动态存储分派___方案。7、通过编译所得到的目的程序是__机器语言程序___或者__汇编语言程序。。8、局部优化是局限于一个__基本块___范围内的一种优化。得分得分三、MACROBUTTONAcceptAllChangesInDoc判断题(对的的在题号后括号内填写“V”,错误的填写“X”)(每小题2分,共20分)1.编译程序和机器硬件有关,和具体的语言无关。(X)2.NAF在辨认记号的时候会产生大量的回溯。(V)3.每个文法都能改写为LL(1)文法。(X)4.LR分析表是由动作表和转移表两部分组成的。(V)5.代码优化的目的是把编译程序进行等价变换。(X)6.引用调用中,实参与形参共用同一个内存空间。(V)7.综合属性的计算方式是自上而下包含自身。(X)8.一个完整程序执行的控制流,是对它的活动树的一次深度优先遍历。(V)9.在名字绑定的概念下,对一个常量的赋值包含了两次映射,即环境映射和状态映射。(X)10.通过拷贝语句进行值的传递的语句称为复写传播。(V)得分四、MACROBUTTONAcceptAllChangesInDoc简答题(第1小题7分,第2小题6分,第3小题7分,共20分)1、(7分)简述如何从正规式构造词法分析器。答:从正规式构造词法分析器的基本环节如下:用正规式对模式进行描述(1分);为每个正规式构造一个NFA,它辨认正规式所表达的正规集(1分);将构造出的NFA转换成等价的DFA,这一过程也被称为拟定化(2分);优化DFA,使其状态数最少,这一过程也被称为最小化(2分);从优化后的DFA构造词法分析器(1分)。2、(6分)下述文法哪些文法是LL(1)文法,哪些不是LL(1)文法,为什么?(1)S->Ra|aR->Sb|b(2)S->aAc|bA->a|b|ε(3)S->aA|AaA->b|ε答:不是LL(1)文法,S=>Ra=>Sba具有间接左递归,因此不是不是LL(1)文法。-------------------------(2分)是LL(1)文法,由于满足推论3.2的3条规则。-------------------------(2分)(3)不是LL(1)文法。对于S->Aa|Aa,求得First(aA)与First(Aa)的交集为a,所以不是LL(1)文法,-------------------------(2分)3、(7分)写出表达式x=a-b*c-a+(b/2+c)的后缀式,三元式序列,四元式序列。答:后缀式:abc*-a-b2/c++x=-------------------------(1分)三元式序列:-------------------------(3分)(1)(*,b,c)(2)(-,a,(1))(3)(-,(2),a)(4)(/,b,2)(5)(+,(4),c)(6)(+,(3),(5))(7)(=,x,(6))四元式序列:-------------------------(3分)(*,b,c,T1)(-,a,T1,T2)(-,T2,a,T3)(/,b,2,T4)(+,T4,c,T5)(+,T3,T5,T6)(=,x,T6,T7)得分五、MACROBUTTONAcceptAllChangesInDoc论述题(每小题15分,共30分)1、(15分)已知某NFA的状态转换矩阵如下表1所示,将此NFA拟定化,构造器最小化DFA,规定写出具体解题过程。表1NFA的状态转换矩阵abcd13224236354735546676答:从上表中可以看出,该NFA已经是DFA,所以直接对其进行最小化(5分)。初始分划Π0:终态组{6,7},非终态组{1,2,3,4,5}---------------------(2分)对{1,2,3,4,5}进行审查:{1,2}输入b到达{2},而{3,4}输入b到达{6,7},{5}输入b不会有任何动作,故得到新分划{1,2}{3,4}{5}-----------------------(2分)Π1:{1,2}ﻩ{3,4} {5}{6,7}Π1即是最后划分,----------------------(2分)重新命名,以1,3,5,6代替{1,2}{3,4}{5}{6,7}得最小化的DFA如下表2所示表2最小化后的DFAabcd13136355366336b1abcb5da-------------------------------(4分)2、(15分)已知文法G[S]:S→aBc|bABA→aAb|bB→b|ε(1)构造其LL(1)分析表(12分);(2)使用自上而下的分析方法判断字符串baabbb是否为该文法的句子(3分)。答:(1)一方面计算所有终结符的FIRST集合和FOLLOW集合。FIRST(B)={b,ε}FIRST(A)={a,b}FIRST(S)={a,b}FOLLOW(S)={#}FOLLOW(A)={b,#}FOLLOW(B)={c,#}-------------------------------------(6分)预测分析表如下所示:abc#SS→aBcS→bABAA→aAbA→bBB→bB→εB→ε-------------------------------------(6分)(2)自上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论