- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
《编译原理》复习(2)
1关于习题与试题习题与试题的目的区别:习题的目的是通过反复的练习理解、掌握所学知识,会有不少繁、难、大量步骤的题;试题的目的是考察对本课程综合掌握的情况,特点是短时间内覆盖大量内容。太繁琐步骤或太难等需要耗费大量时间的题是不出的,大部分应该是基本概念题,但也会有一些综合性的题目。
2关于考试考试范围:1-4章讲过的内容侧重考察:基本概念与基本方法的掌握题目类型:填空题(20-25分)、简答题(30-25分)、计算题(50分)易犯的错误不认真审题(对题目的要求理解错误:意思理解错、难题想容易、容易题想难)答非所问(例如:没有要求LL分析却将文法改为LL的)画蛇添足(例如:仅问有无冲突却将分析表先构造出来)偷工减料(例如:有若干问,仅回答部分或问题仅答一半)
3实际试题举例
一、简答题1有哪些方法可以去除文法的二义性。2请用正规式描述下列语言:(1)以“13”打头的数字串;(2)不以0开始、能被5整除的正偶数。3设数组a[1..2,2..4]以列为主存放且每个元素占4个存储单元,已知数组空间的首地址为a,试给出数组元素a[2,3]的地址。1(1)改写文法(2)规定文法符号的优先级和结合性2思路:分析题意,从最简单的例子考虑,然后找出统一规律(1)长度为2:长度为3:13后可跟任一数字,即长度为4:结果:13[0-9]*1313[0-9]13[0-9][0-9](2)1位数:2位数:个位可为0,即3位数:结果:[1-9][0-9]*00对吗?[1-9]0[1-9][0-9]03思路1:按公式计算思路2:将多维数组排列为1维数组,看偏移量答案:a+3*4=a+12
4二、填空题1编译器的基本组成有:词法分析、、、中间代码生成、、、和。2设正规式R表示正规集{a,b},正规式T表示正规集{c},
则L(RT)为。3给定文法S→Sbc|a,则串abcbc(是/不是)该文法的句子。4表达式aand(cornot(dande))orf的后缀式是。1语法分析、语义分析、代码优化、目标代码生成、符号表管理和出错处理2{ac,bc}3是4acdeandnotorandfor5语法分析的推导过程中,反复使用产生式替换句型中的,从而将文法开始符号最终展开为一个句子;而在剪句柄的过程中,则是反复使用产生式替换句型中的,从而将句子归约为文法的开始符号。5右部(的文法符号序列),非终结符,左部(非终结符),句柄
5三、计算题(1)1(13分)已知一个NFA如图。(1)(4分)用自然语言简要叙述该自动机所识别的语言的特点,列举两个它可识别的串。(2)(3分)写出与该自动机等价的正规式r。(3)(6分)用子集法构造识别r的最小DFA。解:(1)至少包含一个子串bb的a、b串,例如bb、bbb、abb、bba等。(2)r=(a|b)*bb(a|b)*。
6解:(2)r=(a|b)*bb(a|b)*。(3)直接用状态转换矩阵构造:初态集:{0}终态:2子集法得:ab令:A={0},abAABBACCDCDDC最小化DFA得:(C和D不可区分)abAABBACCCC{0}{0,1}{0,1,2}{0,2}{0}{0,1}{0}{0,1,2}{0,1,2}{0,1,2}{0,2}{0,2}B={0,1},C={0,1,2},D={0,2}整理
7三、计算题(2)2(15分)有文法G及语义规则如下:E→E1*T{E.place=newtemp; emit(*,E1.place,T.place,E.place;}|T{E.place=T.place;}T→T1+F{T.place=newtemp; emit(+,T1.place,F.place,T.place;}|F{T.place=F.place;}F→(E){F.place=E.place;}|id{F.place=id.name;}(a)(4分)求句型(T+F)*id的短语、直接短语以及句柄;(b)(4分)根据语法制导翻译写出句子a*b+
文档评论(0)