ImageVerifierCode 换一换
格式:PPT , 页数:35 ,大小:850.54KB ,
资源ID:10302460      下载积分:12 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/10302460.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(第1章编译程序概论引论.ppt)为本站上传会员【a199****6536】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

第1章编译程序概论引论.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第1章 编译原理概论,Page,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第1章 编译原理概论,Page,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第1章 编译原理概论,Page,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第1章 编译原理概论,Page,*,第,1,章 编译程序概论,2025/5/20 周二,第1章 编译原理概论,Page,2,第,1,章 编译原理概论,学习目标,掌握:,编译的各个阶段,理解:

2、编译程序的概念,了解:,解释器,编译程序的结构和组合,2025/5/20 周二,第1章 编译原理概论,Page,3,第,1,章 编译原理概论,编译是什么?,编译有什么用,/,为什么需要编译?,编译怎么实现这个功能,/,作用?,2025/5/20 周二,第1章 编译原理概论,Page,4,第,1,章 编译原理概论,回想使用,VC 6.0,运行程序的过程:,编译,链接执行,检查词法是否正确,检查语法是否正确,将正确的高级语言生成机器能理解的目标代码,机器语言,汇编语言,2025/5/20 周二,第1章 编译原理概论,Page,5,第,1,章 编译原理概论,1.1,什么是编译程序,1.2,编译过程

3、概述,1.3,编译程序的结构,1.4,编译阶段的组合,1.5,编译技术和软件工具,2025/5/20 周二,第1章 编译原理概论,Page,8,1.1,什么是编译程序,4,高级语言程序的处理过程,(,2,)解释的方式,一句一句地读进高级语言源程序;,边翻译边执行;,翻译完成即得出执行结果;,下次再执行时重新翻译。,由“解释程序”对源程序逐个语句一边翻译,一边执行,执行速度慢,便于观察调试程序。,2025/5/20 周二,第1章 编译原理概论,Page,9,1.1,什么是编译程序,4,高级语言程序的处理过程,(,3,)解释器,(interpreter),与编译器,共同点:都是语言的一个实现系统,

4、不同点:,解释器是源程序的一个,执行系统,,工作结果得到源程序的执行结果;,编译器是源程序的,转换系统,,工作结果得到等价于源程序的某种目标程序,2025/5/20 周二,第1章 编译原理概论,Page,10,1.1,什么是编译程序,5,编译程序的发展,以机器语言、汇编语言为工具,以高级语言为工具,编译程序自动生成工具,自编译技术,并行编译技术,2025/5/20 周二,第1章 编译原理概论,Page,11,1.2,编译过程,2025/5/20 周二,第1章 编译原理概论,Page,12,1.2,编译过程,1,、词法分析阶段,从左到右一个字符一个字符地读入源程序,对构成源程序的字符流进行扫描和

5、分解,从而识别出一个个,单词,(Token),。,单词:语法上具有独立意义的最小单位(标识符,基本字,算符,界符等),识别规则:词法规则,源程序,(字符流),翻译程序,单词符号串,(,token,串),在数中出现非数字字符,标识符不是以字母和下划线打头,词法错误,1.2,编译过程,2025/5/20 周二,第1章 编译原理概论,Page,13,词法错误,2025/5/20 周二,第1章 编译原理概论,Page,14,1.2,编译过程,例,:,源程序,begin var sum,first,count:real;sum:=first+count*10 end.,r,0,u,;,;,s,t,l,i

6、a,f,e,r,t,:,n,m,u,u,s,a,c,r,o,v,n,i,g,e,b,s,*,1,t,n,u,o,c,t,+,s,i,r,f,=,:,m,.,n,d,e,源程序在文件中的表示,空格,换行,字符的内部表示即,ASC,码,单词表示成二元式(单词的种别,单词自身值),(,基本字,real,),(,标识符,first,),(,冒号,:,),(,逗号,),(,标识符,count),(,分号,;),(,基本字,var),(,逗号,),(,标识符,sum,),(,基本字,begin,),(,赋值号,:=),(,加号,+,),(,标识符,first,),(,标识符,sum,),词法分析后程序的

7、图形表示,2025/5/20 周二,第1章 编译原理概论,Page,15,1.2,编译过程,2,、语法分析阶段,任务:在词法分析的基础上,将单词序列分解成各类语法短语,表示成语法树。,识别规则:语法规则。,判断,输入串是否构成一个语法上正确的程序,并生成,语法树。,单词符号串(,token,串),翻译程序,语法短语,else,没有匹配的,if,表达式缺少分号结尾,语法错误,1.2,编译过程,2025/5/20 周二,第1章 编译原理概论,Page,16,语法错误,2025/5/20 周二,第1章 编译原理概论,Page,17,1.2,编译过程,例,:,赋值语句,sum:=first+count

8、10,赋值语句规则,:=,“,:=,”,:=,“,+,”,:=,“,*,”,:=,“,(,”,“,),”,:=,:=,:=,赋值语句,标识符,:=,表达式,表达式,+,表达式,标识符,first,表达式,*,表达式,标识符,count,整数,10,sum,2025/5/20 周二,第1章 编译原理概论,Page,18,1.2,编译过程,3,、语义分析阶段,任务:审查源程序有无语义错误,为代码生成阶段收集类型信息。,识别规则:语义规则,识别结果进行类型转换或报告类型错误,类型审查(静态语义):,上下文相关性,类型匹配,类型转换,数组下标越界,声明和使用的函数没有定义,零作除数,语义错误,1.2

9、编译过程,2025/5/20 周二,第1章 编译原理概论,Page,19,语义错误,2025/5/20 周二,第1章 编译原理概论,Page,20,1.2,编译过程,例:源程序:,sum:=first+count*10,经语义分析发现整数,10,必须转换成实数才能与实形变量,count,相乘。因此在分析树上增加一语义处理结点,2025/5/20 周二,第1章 编译原理概论,Page,21,1.2,编译过程,4,、中间代码生成,从这里开始真正做翻译工作,任务:把源程序翻译成中间代码(如四元式),四元式的形式:,(运算符,运算对象,1,,运算对象,2,,结果),例:,源程序:,sum:=firs

10、t+count*10,翻译成四元式,(1)(inttoreal 10 -T1),(2)(*count T1 T2),(3)(+first T2 T3),(4)(:=T3 -sum),2025/5/20 周二,第1章 编译原理概论,Page,22,1.2,编译过程,5,、代码优化,任务:对中间代码进行等价变换,以便生成更高效的目标代码,即,省时间和省空间,。,举例,:,(1)(inttoreal 10 -T1),(2)(*count T1 T2),(3)(+first T2 T3),(4)(:=T3 -sum),简化后,:,(*count 10.0 T1),(+first T1 sum),202

11、5/5/20 周二,第1章 编译原理概论,Page,23,1.2,编译过程,6,、目标代码生成,任务:把中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码,它的工作与硬件系统和指令含义有关,.,例如,:,(*count 10.0 T1),(+first T1 sum),生成汇编代码如下,:,MOVF count,R2,MULF#10.0,R2,MOVF first,R1,ADDF R1,R2,MOV R1,sum,源程序:,sum:=first+count*10,2025/5/20 周二,第1章 编译原理概论,Page,24,1.3,编译程序的结构,2025/5/20 周

12、二,第1章 编译原理概论,Page,25,1.3,编译程序的结构,表格管理和出错处理,表格,保留编译过程中源程序的各种信息,出错处理,处理编译过程中发现的源程序错误(词法错误、语法错误、语义错误),2025/5/20 周二,第1章 编译原理概论,Page,26,1.4,编译阶段的组合,1,分析与综合,分析阶段:,词法分析、语法分析、语义分析,只对程序进行识别和检查,,未作实质翻译,。,综合阶段:,中间代码生成、代码优化、目标代码生成,对源程序,进行翻译,,生成目标代码。,2025/5/20 周二,第1章 编译原理概论,Page,27,1.4,编译阶段的组合,2,前端与后端,前端:,词法分析、语

13、法分析、语义分析和中间代码的生成、中间代码优化。,前端的工作只依赖于源语言,与机器无关。,后端:,目标代码生成。,后端工作依赖于目标机,而与源语言无关(只与中间代码有关)。,2025/5/20 周二,第1章 编译原理概论,Page,28,1.4,编译阶段的组合,3,一遍与多遍,一个编译程序可由一遍、两遍或多遍完成。,“,遍,”,是对源程序或中间语言程序从头到尾扫视并完成规定任务的过程。,影响分遍的因素:源语言结构,目标机资源,开发人员编程习惯。,2025/5/20 周二,第1章 编译原理概论,Page,29,1.5,编译技术和软件工具,1,、语言的结构化编辑器,引导用户在语言的语法制导下编制程

14、序。,2,、语言程序的调试工具,帮助编程人员检查程序的算法和运行结果是否符合原意,与语法分析和语义处理关系密切。,3,、语言程序的测试工具,静态分析器:检查变量的定值与引用关系。,动态测试器:用测试用例记录程序运行时实际路径。,2025/5/20 周二,第1章 编译原理概论,Page,30,1.5,编译技术和软件工具,4,高级语言之间的转换工具,把一种高级语言转换成另一种高级语言。,汇编语言转换成高级语言(反编译)。,5,并行编译技术,并行机和多处理机的发展要求软件并行处理;,运用重构技术从串行程序中分析出并行成分;,用并行语言编写并行处理程序。,2025/5/20 周二,第1章 编译原理概论

15、Page,31,小结,内容:,什么是编译程序,编译的各个阶段,为什么要学习编译程序,重点:,对编译程序的功能和结构有总体认识,理解编译程序各个阶段的逻辑关系,以及他们怎样作为一个整体完成编译任务,2025/5/20 周二,第1章 编译原理概论,Page,32,练习,1,、什么是翻译程序,编译程序,汇编程序?它们之间是什么关系?,2025/5/20 周二,第1章 编译原理概论,Page,33,练习,1,、翻译程序:,2,、编译程序:,3,、汇编程序:,高级语言程序,(源程序),编译程序,低级语言程序,(目标程序),汇编语言程序,(源程序),汇编程序,机器语言程序,(目标程序),一种语言程序,(

16、源程序),翻译程序,另一种语言程序,(目标程序),2025/5/20 周二,第1章 编译原理概论,Page,34,练习,2,、填空,在词法分析的基础上,将单词序列分解成各类语法短语。,(),把源程序翻译成中间代码。,(),从左到右一个字符一个字符地读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词。,(),把中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码。,(),对中间代码进行等价变换,以便生成更高效的目标代码。,(),审查源程序有无语义错误,为代码生成阶段收集类型信息。,(),A.,词法分析,B.,语法分析,C.,语义分析,D.,中间代码生成,E.,代码优化,F.,目标代码生成,B,A,D,C,F,E,2025/5/20 周二,第1章 编译原理概论,Page,35,下面的课程安排,第,3,章 文法和语言,为下面各个阶段做好准备,第,4,章,词法分析,第,5,章 自顶向下语法分析方法,第,6,章 自底向上优先分析,第,7,章,LR,分析,第,8,章 语法制导翻译和,中间代码生成,第,11,章,代码优化,第,12,章,代码生成,语法分析,语义分析,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服