编译原理习题课答案市公开课一等奖百校联赛获奖课件.pptx
《编译原理习题课答案市公开课一等奖百校联赛获奖课件.pptx》由会员分享,可在线阅读,更多相关《编译原理习题课答案市公开课一等奖百校联赛获奖课件.pptx(75页珍藏版)》请在咨信网上搜索。
1、编编译译原原理理chapter15习题习题chapter11、何谓源程序、目标程序、翻译程序、编译程序、何谓源程序、目标程序、翻译程序、编译程序和解释程序?它们之间可能有何种关系?和解释程序?它们之间可能有何种关系?源程序:用源语言编写程序。源程序:用源语言编写程序。目标程序:源程序经翻译程序过加工处理后生成程序。目标程序:源程序经翻译程序过加工处理后生成程序。翻译程序:将源程序转换为与其逻辑上等价目标程序。翻译程序:将源程序转换为与其逻辑上等价目标程序。编译程序:编译程序:源语言为高级语言,目口号言为汇编语言或机源语言为高级语言,目口号言为汇编语言或机器语言翻译程序。器语言翻译程序。解释程序
2、:解释程序:源语言程序作为输入,但不产生目标程序,而源语言程序作为输入,但不产生目标程序,而是边解释边执行源程序本身。是边解释边执行源程序本身。先翻译后执行先翻译后执行 边解释边执行边解释边执行执行速度快执行速度快 有利于程序调试有利于程序调试屡次运算屡次运算 1次运算次运算第第1页页编编译译原原理理chapter15习题习题2、一个经典编译系统通常由有哪些部分组成?、一个经典编译系统通常由有哪些部分组成?各部分主要功效是什么?各部分主要功效是什么?chapter1编译系统编译系统编译程序编译程序语法分析语法分析语义分析与中间代码生成语义分析与中间代码生成优化优化目标代码生成目标代码生成运行系
3、统运行系统词法分析词法分析第第2页页编编译译原原理理chapter15习题习题语法分析语法分析(SyntaxAnalysis):在词法分析基础上将单词序列分解成各类语法短在词法分析基础上将单词序列分解成各类语法短语,如语,如“程序程序”,“语句语句”,“表示式表示式”等等。等等。语义分析语义分析(SyntacticAnalysis):语义分析是在语法分析程序确定出语法短语后,审语义分析是在语法分析程序确定出语法短语后,审查有没有语义错误,并为代码生成阶段搜集类型信息。查有没有语义错误,并为代码生成阶段搜集类型信息。chapter1词法分析词法分析(LexicalAnalysis):从左到右从左
4、到右一个字符一个字符读入源程序,对组一个字符一个字符读入源程序,对组成源程序字符串进行扫描和分解,从而成源程序字符串进行扫描和分解,从而识别出一个识别出一个个单词个单词(也称单词符号或简称符号)。(也称单词符号或简称符号)。第第3页页编编译译原原理理chapter15习题习题chapter1代码优化代码优化(Optimizationofcode):为了使生成目标代码更为高效,能够对产生中间代为了使生成目标代码更为高效,能够对产生中间代码进行变换或进行改造,这就是代码优化。码进行变换或进行改造,这就是代码优化。代码生成代码生成(Generationofcode):目标代码生成是编译器最终一个阶段
5、。在生成目标目标代码生成是编译器最终一个阶段。在生成目标代码时要考虑以下几个问题:代码时要考虑以下几个问题:计算机系统结构、指令系计算机系统结构、指令系统、存放器分配以及内存组织统、存放器分配以及内存组织等。等。中间代码生成中间代码生成(Generationofintermediatecode):完成语法分析和语义处理工作后,编译程序将源程完成语法分析和语义处理工作后,编译程序将源程序变成一个内部表示形式,这种内部表示形式叫做中间序变成一个内部表示形式,这种内部表示形式叫做中间语言或称中间代码,它是一个结构简单、含义明确记号语言或称中间代码,它是一个结构简单、含义明确记号系统。系统。第第4页页
6、编编译译原原理理chapter15习题习题chapter21.写出写出C语言和语言和Java语言输入字母表。语言输入字母表。C语言:语言:09数字,大小写英文字母,键盘上可见字符数字,大小写英文字母,键盘上可见字符Java语言:语言:Unicode能够包含全部字符。能够包含全部字符。6.文法文法G6为为:ND|NDD0|1|2|3|4|5|6|7|8|9(1)G6语言是什么语言是什么?G6语言是:语言是:09数字组成任意数字组成任意非空非空串串L(G6)=x|x 0,1,2,3,4,5,6,7,8,9+(2)给出句子)给出句子0127、34和和568最左和最右推导。最左和最右推导。第第5页页编
7、编译译原原理理chapter15习题习题7、写一文法,使其语言是写一文法,使其语言是奇数集奇数集。要求:不以要求:不以0打头。打头。复杂情况复杂情况:分三部分分三部分末尾:以末尾:以1|3|5|7|9结尾结尾(一位一位):):D1|3|5|7|9开头:除了开头:除了0任意数字任意数字中间部分:空或者任意数字串中间部分:空或者任意数字串D1|3|5|7|9CCA|A0|B所以题目要求文法所以题目要求文法GNGN能够写成:能够写成:NBCD|DD1|3|5|7|9B2|4|6|8|DCCA|A0|BB2|4|6|8|D第第6页页编编译译原原理理chapter15习题习题9、证实文法、证实文法:Si
8、SeS|iS|i是二义。是二义。二义性含义二义性含义:假如文法存在假如文法存在某个句子某个句子对应两棵以上对应两棵以上不一样语法树,或者两种以上不一样最不一样语法树,或者两种以上不一样最左左/右推导,则称这个文法是二义。右推导,则称这个文法是二义。首先:找到此文法对应一个首先:找到此文法对应一个句子句子 iiiei其次:结构与之对应其次:结构与之对应两棵两棵语法树语法树S i S e S i S i i S i S i S e S i i结论:因为该文法存在句子结论:因为该文法存在句子iiieiiiiei对应两棵对应两棵 不一样语法树,因而该文法是二义。不一样语法树,因而该文法是二义。第第7页
9、页编编译译原原理理chapter15习题习题11、给出下面语言对应文法、给出下面语言对应文法L1=anbnci|n1,i0G1(S):SABAaAb|abBcB|从从n,i不一样取值来把不一样取值来把L1分成两部分:分成两部分:AaAb|ab前半部分是前半部分是anbn:后半部分是后半部分是ci:BBc|所以整个文法所以整个文法G1S能够写为:能够写为:第第8页页编编译译原原理理chapter15习题习题L2=aibncn|n1,i0G2(S):SABAaA|BbBc|bcL3=anbnambm|m,n0G3(S):SABAaAb|BaBb|第第9页页编编译译原原理理chapter15习题习题
10、L4=1n0m1m0n|n,m0能够看成是两部分:能够看成是两部分:剩下两边部分就是:剩下两边部分就是:S1S0中间部分是中间部分是0m1m:A0A1|所以所以G4S能够写为:能够写为:S1S0|AA0A1|A第第10页页编编译译原原理理chapter15习题习题chapter37.结构以下正规式对应结构以下正规式对应DFA。步骤步骤:.依据正规式依据正规式画出画出对应对应状态转换图状态转换图;.依据状态转换图画出对应依据状态转换图画出对应状态转换矩阵状态转换矩阵;.依据状态转换矩阵得到依据状态转换矩阵得到重命名后状态转换矩阵重命名后状态转换矩阵;.依据重命名后状态转换矩阵得出最终依据重命名后
11、状态转换矩阵得出最终DFA.问题:将状态转换图与问题:将状态转换图与DFA混同。混同。第第11页页编编译译原原理理chapter15习题习题1(0|1)*101.状态转换图状态转换图abadb1(0|1)*101a1(0|1)*101dcef101101ggg第第12页页编编译译原原理理chapter15习题习题.状态转换矩阵状态转换矩阵II0I1ab,c,db,c,dc,dc,d,ec,dc,dc,d,ec,d,ec,d,fc,d,ec,d,fc,dc,d,e,gc,d,e,gc,d,fc,d,e1abdcef10101g第第13页页编编译译原原理理chapter15习题习题II0I1ab,
12、c,db,c,dc,dc,d,ec,dc,dc,d,ec,d,ec,d,fc,d,ec,d,fc,dc,d,e,gc,d,e,gc,d,fc,d,e.重命名后状态转换矩阵重命名后状态转换矩阵S01A(始态始态)BBCDCCDDEDECF(终态终态)F(终态终态)EDAB10C1D010E10101F.DFA第第14页页编编译译原原理理chapter15习题习题1(1010*|1(010)*1)*0abdc10e0101fghi01110jklmn.状态转换图状态转换图第第15页页编编译译原原理理chapter15习题习题.状态转换矩阵状态转换矩阵II0I101,2,31,2,345,9,10,
13、115,9,10,116,122,36,122,3,7,8,132,345,9,10,112,3,7,8,132,3,4,8,10,115,9,10,112,3,4,8,10,112,3,4,8,122,3,5,9,10,112,3,4,8,122,3,4,85,9,10,11,132,3,5,9,10,114,6,122,3,5,9,10,112,3,4,82,3,4,85,9,10,115,9,10,11,136,10,11,122,34,6,122,3,7,8,136,10,11,12122,3,7,8,1312131310,1110,11122,3第第16页页编编译译原原理理chapt
14、er15习题习题.重命名后状态转换矩阵重命名后状态转换矩阵II0I112234456576347848910911121013101111412146137141571516161717156.DFA第第17页页编编译译原原理理chapter15习题习题8、给出下面正规表示式、给出下面正规表示式(1)以)以01结尾二进制数串。结尾二进制数串。(0|1)*01(2)能被)能被5整除十进制数。整除十进制数。0|5(0|5)|(1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*(4)英文字母组成全部符号串,要求符号串中)英文字母组成全部符号串,要求符号串中字母按字典序排
15、列。字母按字典序排列。(A|a)*(B|b)*(C|c)*(Z|z)*(3)包含奇數個)包含奇數個1或奇數個或奇數個0二進制串二進制串0*1(0|10*1)*|1*0(0|10*1)*第第18页页编编译译原原理理chapter15习题习题(5)沒有重複出現數字數字符號串全體)沒有重複出現數字數字符號串全體令令ri=i|,i=0,1,2.9R0|R1|R2|.|R9記為記為Rii(0,1,2.,9)P(0,1,2.,9)表示表示0,1,2.,9全排列全排列ri0ri1.ri9ri0ri1.ri9 P(0,1,2.,9)8、给出下面正规表示式、给出下面正规表示式(6)最多有一個重複出現數字數字符號
16、串全體)最多有一個重複出現數字數字符號串全體iri0ri1.ri9i(0,1,2.,9)ri0ri1.ri9 P(0,1,2.,9)(7)不包含字串)不包含字串abb由由a和和b組成符號串全體組成符號串全體b*(a*|(ba)*)*第第19页页编编译译原原理理chapter15习题习题9、对下面情况给出、对下面情况给出DFA及正规表示式:及正规表示式:(1)0,1上含有子串上含有子串010全部串。全部串。正规式:正规式:(0|1)*010(0|1)*DFA做法同第做法同第7题。题。(2)0,1上不含子串上不含子串010全部串。全部串。正规式:正规式:1*(0|11*1)*1*0*1*(0|11
17、)*(0|1)1*(0|11)*1*第第20页页编编译译原原理理chapter15习题习题12、将图、将图3.18(a)和和(b)分别确定化和最少化。分别确定化和最少化。(a)aaa,b10.状态转换矩阵状态转换矩阵IIaIb00,1110,10,110.重命名后状态转换矩阵重命名后状态转换矩阵IIaIb012211200a2baba.DFA.最小化最小化0=(0,1,2)10,1a=10,1b=2所以,不能再分所以,不能再分02baa第第21页页编编译译原原理理chapter15习题习题023145aaaabbbbbbaa(b)这道题实质上已经是确定化了,所以我们只需最小化这道题实质上已经是
18、确定化了,所以我们只需最小化:2,3,4,50,12,3,4,5a=0,1,3,5分属两区,所以分为分属两区,所以分为2,43,50,1a=10,1b=2,4所以所以0,1等价等价2,4a=0,12,4b=3,5所以所以2,4等价等价3,5a=3,53,5b=2,4所以所以3,5等价等价所以分为所以分为0,12,43,5023aabbba第第22页页编编译译原原理理chapter15习题习题14、结构一个、结构一个DFA,它接收,它接收=0,1上全部满足以下上全部满足以下条件字符串:每个条件字符串:每个1都有都有0直接跟在右边。直接跟在右边。思绪:先写出满足条件正规式,由正规式结构思绪:先写出
19、满足条件正规式,由正规式结构NFA,再把,再把NFA确定化和最小化。确定化和最小化。满足条件正规式:满足条件正规式:(0|10)*0110yx(0|10)*xy12100第第23页页编编译译原原理理chapter15习题习题xy12100确定化:确定化:0 01 1X,1,YX,1,Y1,Y1,Y221,Y1,Y1,Y1,Y22221,Y1,Y给状态编号:给状态编号:0 01 10 01 12 21 11 12 22 21 1第第24页页编编译译原原理理chapter15习题习题02101100最小化:最小化:0,1,20,10=10,11=220=0,21=2或或0,1所以所以0,1不可分,
20、用狀態不可分,用狀態0代表它們代表它們02100第第25页页编编译译原原理理chapter15习题习题15、给定右线性文法、给定右线性文法G:求一个与:求一个与G等价左线性文法。等价左线性文法。S0S|1S|1A|0BA1C|1B0C|0C0C|1C|0|1SABCZ001110001101GZ:ZZ0|Z1|B0|A1BA0|0AB1|1确定化、最小化后确定化、最小化后DFA为:为:SB0A110Z010,1第第26页页编编译译原原理理chapter15习题习题补充:结构一右线性文法,使它与以下文法等价:补充:结构一右线性文法,使它与以下文法等价:SABAUTUa|aUTb|bTBc|cB并
21、依据所得右线性文法,结构出对应状态转换图。并依据所得右线性文法,结构出对应状态转换图。思绪:思绪:先写出原文法所描述语言先写出原文法所描述语言L(G)=ambnck|m,n,k1GS:SaS|aBBbB|bCCcC|caSaCbcBbcT第第27页页编编译译原原理理chapter15习题习题chapter44.1、考虑下面文法、考虑下面文法G1:Sa|(T)TT,S|S(1)消去)消去G1左递归;左递归;Sa|(T)TSTT,ST|(2)经改写后文法是否是)经改写后文法是否是LL(1)文法,给出预测分析表。文法,给出预测分析表。经改写后文法满足经改写后文法满足3个条件,所以是个条件,所以是LL
22、(1)第第28页页编编译译原原理理chapter15习题习题预测分析表结构算法预测分析表结构算法:1.对文法中每个产生式对文法中每个产生式A执行第二步和第三步执行第二步和第三步;FIRST(S)=a,(FIRST(T)=a,(FIRST(T)=,FOLLOW(S)=),#FOLLOW(T)=)FOLLOW(T)=)a(,)#STTSaS S(T)TSTTSTTSTT,STT第第29页页编编译译原原理理chapter15习题习题预测分析表结构算法预测分析表结构算法:1.对文法中每个产生式对文法中每个产生式A执行第二步和第三步执行第二步和第三步;2.对每个终止符对每个终止符a FIRST(),把把
23、Aa加到加到MA,a中中;Sa;S;S(T);TST;T,STTFTRST(a)=aFIRST()=FIRST(T)=(FIRST(ST)=a,(,(FIRST(,(,ST)=,FIRST()=a(,)#STTSaS S(T)TSTTSTTSTT,ST3.若若 FIRST(),则对于任何则对于任何b FOLLOW(A)把把A加至加至MA,b中中FOLLOW(T)=FOLLOW(T)=)T第第30页页编编译译原原理理chapter15习题习题递归子程序:递归子程序:procedureS;beginifsym=aorsym=thenabvanceelseifsym=(thenbeginadvanc
24、e;T;ifsym=)thenadvance;elseerror;endelseerrorend;第第31页页编编译译原原理理chapter15习题习题procedure T;procedure T;beginbeginS;TS;TEndEndprocedure T;procedure T;beginbeginif sym=,if sym=,then bengin then bengin advance;advance;S;T S;T end endEndEndsym:是输入串指针是输入串指针IP所指符号所指符号advance:是把是把IP调至下一个输入符号调至下一个输入符号error:是犯错
25、诊察程序是犯错诊察程序第第32页页编编译译原原理理chapter15习题习题补充题:有文法:补充题:有文法:ETEEATE|TFTTMFT|F(E)|iA+|-M*|/(1)求)求First、Follow集,判断是否是集,判断是否是LL(1)文法?)文法?(2)若是结构)若是结构LL(1)分析表?)分析表?(3)简述)简述LL(1)分析器工作原理。)分析器工作原理。第第33页页编编译译原原理理chapter15习题习题4.2:有文法:有文法:ETEE+E|TFTTT|FPFF*F|P(E)|a|b|(1)求)求First、Follow集,判断是否是集,判断是否是LL(1)文法?)文法?(2)若
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 习题 答案 公开 一等奖 联赛 获奖 课件
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。