




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编译原理习题解答参考1.计算机执行用高级语言编写的程序的途径有哪些?它们之间主要区别是什么?答:计算机执行用高级语言编写的程序途径有两种:解释方式和编译方式。解释方式下直接对源程序进行解释执行,并得到计算结果,特点是计算机并不事先对高级语言进行全盘翻译将其全部变为机器代码,而是每读入一条语句,就用解释器将其翻译为机器代码,予以执行,然后再读入下一条高级语句,翻译为机器代码,再执行,如些反复,即边翻译边执行;编译方式下对源程序的执行需要经过翻译阶段和运行阶段才能得到计算结果,其特点是计算机事先对高级语言进行全盘翻译将其全部变为机器代码,再统一执行,即先翻译后执行。简单来说解释方式不生成目标代码,编译方式生成目标代码。2.名字与标识符的区别是什么?答:在程序设计语言中,凡是以字母开头的有限个字母数字的序列都是标识符。当给予一个标识符确切的含义后,该标识符就叫做一个名字。标识符是一个没有意义的字符序列,而名字有确切的含义,一个名字代表一个存储单元,该单存放该名字的值。此外,名字还有属性(如类型和作用域等)。如objectint, 作为标识符,它没有任何含义,但作为名字,它可能表示变量名、函数名等。3.许多编译程序在真正编译之前都要进行预处理操作,请问预处理的目的是什么?预处理主要做哪些工作?答:在源程序中有时存在多个连续的空格、回车、换行及注释等编辑性字符,它们不是程序的必要组成部分,它们的意义只是改善程序的易读性和易理解性。为了降低编译程序的处理负担,许多编译程序在编译之前通过预处理工作将这些部分删除。 预处理的主要工作是对源程序进行格式方面的规范化处理,如去掉注释、将回车换行变成空格、将多个空格替换为一个空格等。P35 4,6,7,8,9,11(1,2)4答:256,86(1)答:所产生的语言是:所有正整数集,且可以以0打头;0127,34,568的推导略。7答:SABD|AD|D A2|4|6|8|D B0|A|B0|BA D1|3|5|7|98答:略。9答:文法对于句子iiieii存在两棵不同的语法树,所以该文法是二义性文法。11(1)答:SAB|A SAB AaAb|ab AaAb|ab BBc|c BBc|c| (2)答:SAB|B AaA|a BbBc|bc1.化简文法GS: SBe B Ce|Af A Ae|e C Cf D f答:SBeBAfAAe|e2.给出描述语言L(G)=a2nbn|n1的2型文法。答:语言中语句的特点是a的个数是b的个数的2倍,且a全部在句子的前部分,b全部在句子的后部分,2型文法为:Saab|aaSb3.构造一个文法,使其描述的语言是不能被5整除的偶整数集合。S(+|-)AB|BA0|1|2|3|4|5|6|7|8|9|AAB2|4|6|8 如果不以0打头,则文法描述如下:S(+|-)(AD|D)AAB|CB0|C|BBC1|2|3|4|5|6|7|8|9D2|4|6|8P64 7(1),8(123)127答:1|(0|1)*1011)NFA如下:XY53241Y1111002)确定化:II1I00 X1,3,21 1,3,23,2,43,22 3,2,43,2,43,2,53 3,23,2,43,24 3,2,53,2,4,Y3,25 3,2,4,Y3,2,43,2,53)DFA自己画8(1)(0|1)*01 (2)(0|1| |9)*(0|5) (3)(00|11)*(10|01)12答:a图:首先用子集法确定化:IIaIbA 00,11B 0,10,11C 10用ABC表示三个状态,则确定化后的自动机如下所示:ACBBaaab下面用分割法将其最小化:首先得到两个子集:非终态K1=A,C和终态K2=B,由于状态A和状态C输入a后分别到达状态B和A,故状态A和状态C不等价,K1不能再分割,所以该DFA已经是最小化的DFA了。(b)答:观察原图已经是DFA了,最小化如下:首先得到两个子集:非终态和终态:2,3,4,5和0,10,1a=10,10,1b=2,42,3,4,5所以0,1是不可分割的因为2,3,4,5a=1,3,0,5又因为2,4a=0,10,13,5a=3,5所以该状态集划分为两个状态集2,4和3,52,4b=3,53,53,5b=2,42,4所以状态2,4和3,5不可分割,最终状态集划分三个状态集:0,1 2,4 3,5,得到最小化的DFA如下:A320aabbbaP81 23、文法GA如下: 4、已知文法GS如下:ABaC|CbB S aABbcd|B Ac|c A ASd| C Bb|b B SAh|eC| 消除其左递归 C Sf|Cg| D aBD| 求每一非终结符的FIRST 合和FOLLOW集合, 该文法是LL(1)文法吗?为什么?2 解答:1) FIRST(E)=(,a,b, FIRST(E)=+, FIRST(T)= (,a,b, FIRST(T)= (,a,b, FIRST(F)= (,a,b, FIRST(F)= *, FIRST(P) (,a,b, FOLLOW(E)=),# FOLLOW(E)= ),# FOLLOW(T)= ),+,# FOLLOW(T)= ),+,# FOLLOW(F)= ),+,#, (,a,b, FOLLOW(F)= ),+,#, (,a,b, FOLLOW(P)= ),+,#, (,a,b, 2) 由上知,文法的所有首符集两两不相交。 FIRST(E)与FOLLOW(E)= FIRST(T)与FOLLOW(T)= FIRST(F)与FOLLOW(F)= 所以,该文法是LL(1)文法。 3)分析表和递归下降分析程序自己完成。3解答:利用消除左递归的算法,将非终结符排序为:U1=A,U2=B,U3=C,执行算法得: U1代入U2得:BBaCc|CbBc|c,消除B的左递归,BC bBcB|c BBaCc B| U2代入U3得:CCbBcBb|cB|bCc BbC|b CCbBc Bb C|所以,方法消除左递归后的结果为:ABaC|CbBBC bBcB|c BBaCc B|Cc BbC|b CCbBc Bb C|4解答:首先将文法化简得到如下文法: S aABbcd| A ASd| B SAh|eC| C Sf|Cg| 非终结符的FIRST集合如下:FIRST(S)=a, FIRST(A)=a,d, FIRST(B)=a,d,e,h, FIRST(C)=a,f,g, 非终结符的FOLLOW集合如下:FOLLOW(S)=#,a,d,h,fFOLLOW(A)=b,a,d,h,eFOLLOW(B)=bFOLLOW(C)=b,g该文法不是LL(1)文法,因为FIRST(C Sf)FIRST(C Cg)FIRST(A) FOLLOW(A) 作业:P133 1,3,51解答:E=E+T=E+T*F短语:T*F,E+T*F直接短语:T*F句柄 :T*F3解答: FIRSTVT(S)=a (FIRSTVT(T)=, a (LASTVT(S)=, a (LASTVT(T)=, a (1)=S(T)有(=)2) T, 则有LASTVT(T) , T), 则有LASTVT(T) )3) (T,则有 (FIRSTVT(T) , S, 则有 ,(=,)后面的答案略。5解答:4、文法GS如下,是LR(1)文法但不是LALR(1)文法,对吗?为什么?(武大) S aAa|aBb|bAb|bBa A c B c解答:识别扩展后文法活前缀的DFA如图所示:I0:S.S,#S.aAa,#S.aBb,#S.bAb,#S.bBa,#I1:SS,.#I2:Sa.Aa,#Sa.Bb,#A.c,aB.c,bI3:Sb.Ab,#Sb.Ba,#A.c,bB.c,aI4:SaA.a,#I5:SaB.b,#I6:Ac.,aAc.,bI7:SbA.b,#I8:SbB.a,#I9:Ac.,bAc.,aI10:SaAa.,#I11:SaBb.,#I12:SbAb.,#I13SbBa.,#cABAbSaBcaabb 由于不存在移进-归约冲突和归约-归约冲突,所以文法是LALR(1)文法。若将同心集I6和I9合并,则会出现归约归约冲突,所以文法不是LALR(1)文法。原题说法不正确。5、已知文法GS如下,请构造该文法的算符优先关系矩阵,并判断是否为算符优先文法?(清华) S iBtS|iBtAeS|a A iBtAeS|a B b解答:求该非终结符的FIRSTVT集合和LASTVT集合 FIRSTVT(S)=i,a FIRSTVT(A)= i,a FIRSTVT(B)=b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公会夺旗活动方案
- 2025至2030年中国企业问题管理系统行业投资前景及策略咨询报告
- 2025至2030年中国中低压变频调速及其控制系统行业投资前景及策略咨询报告
- 公司三好活动方案
- 公司企业团日活动方案
- 公司保密现场活动方案
- 公司国庆联谊会活动方案
- 环境灾害应急指挥系统应急国际合作研究重点基础知识点归纳
- 广东交通职业技术学院教学事故认定办法
- 公司宣传党史活动方案
- 住院时间超过30天的患者管理与评价登记本
- 物业管理招聘面试题与参考回答2024年
- 培训与开发(第5版)课件10
- 2.1始终坚持以人民为中心 课件高中政治统编版必修三政治与法治
- 江苏省无锡市(2024年-2025年小学四年级语文)部编版质量测试(下学期)试卷及答案
- 微生物题库(附参考答案)
- 【小升初】2023-2024学年贵州遵义市六年级下学期数学期末试题2套(含解析)
- SL-T+62-2020水工建筑物水泥灌浆施工技术规范
- 烟草物理检验竞赛考试题库及答案附有答案
- 生产计划自动排程表
- 教科版四年级下册科学期末测试卷含答案【研优卷】
评论
0/150
提交评论