欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    编译程序基本概念.ppt

    • 资源ID:6016595       资源大小:475.50KB        全文页数:20页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    编译程序基本概念.ppt

    ,编译程序的设计原理与实现,如何让计算机认识、理解和执行高级程序设计语言?,自我介绍,课件:password:2008happy 网易网盘-我的文档Email:刘洪娟:办公室:综合楼303办公电话:83680831,教材与参考书,教材:胡伦骏等:编译原理(第2版),电子工业出版社。参考书:美 Alfred V.Aho,Ravi Sethi Jeffrey,D.Ullman著.李建中,姜守旭译:编译原理,机械工业出版社,2003-1。美 Kenneth C.Louden著,冯博琴等译:编译原理及实践,机械工业出版社,2002-2。陈火旺等:程序设计语言编译原理(第3版),国防工业出版社,2003-2。,课程的学时分配(40学时),计算机系统,硬件,软件,组成原理,电子技术,体系结构,数字逻辑电路,电路原理,大学物理,计算机网络,接口与通讯技术,通讯概论,安全与保密,程序设计语言,汇编语言,高级语言,编译原理,计算理论,C、C、JAVA、PB、VB,系统软件,操作系统,DOS、Windows、UNIX,数据库,Access、Sybase、Oracle,数据结构,人工智能,应用软件开发,软件工程,算法设计与分析,本课程在计算机系统中的地位,课程的名称、地位和特点,课程名称:编译理论、编译原理、编译结构、编译技术和编译方法等。课程地位:编译程序(系统)和操作系统一起构成了计算机中两大系统软件;一个是计算机资源的操纵者;而另一个是计算机软件资源的开拓者。课程特点:知识性 形式语言和自动机作为本课程的两大理论基础并具有典型的应用技术;系统性 从词法、语法、语义直到目标生成,构成了语言翻译的完整体系;趣味性 关于语言处理的一些经典算法和实现技术,可以享受获取软件设计方法的乐趣。应用性 编译技术可广泛应用于文本编辑、排版系统、模式识别以及机器翻译等各个领域。,第1章 编译程序基本概念,内容提要,1.1 什么是编译程序?1.2 编译程序逻辑结构 1.3 编译程序实现机制 1.4 编译程序的生成方法 1.5 编译过程实例分析,.,.,.,计算机中语言的翻译程序体系,解释程序,图1.1 计算机语言的层次体系,高级语言1,编译程序2,反汇编程序,汇编程序,汇编语言,机器语言,反编译程序,转换程序,高级语言2,编译程序1,1.1 什么是编译程序?,编译程序(compiler)是一种翻译程序,它特指把某种高级程序设计语言翻译成与之等价的具体计算机上的低级程序设计语言。,编译程序的执行过程两个阶段:,源语言,编译程序,目标语言,数据,结果,运行程序,编译阶段,运行阶段,图1.2 编译程序的执行过程,什么是解释程序?,解释程序(interpreter)也是一种翻译程序,它将源语言书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。,编译程序与解释程序的主要区别:,数据,结果,解释程序,图1.3 解释程序的执行过程,源语句,(1)前者有目标程序而后者无目标程序;,(2)前者运行效率高而后者便于人机对话。,1.2 编译程序逻辑结构,词法分析,语法分析,语义分析,目标代码生成,源语言,目标语言,错 误 处 理 程 序,符 号 表 管 理 程 序,图1.4 编译程序总体结构,优化处理,编译程序的五个阶段:,编译程序执行过程,词法分析,语法分析,语义分析,目标代码生成,源语言,目标语言,错 误 处 理 程 序,符 号 表 管 理 程 序,图1.5 编译程序执行过程图解,优化处理,单词串TOKEN,前 端,后 端,编译程序与外文翻译的类比:,词法分析-识别单词,确认词类;语法分析-识别短语和句型的 语法属性;语义分析-确认单词、短语和句型的 语义特征;代码优化-修辞、文本编辑;代码生成-生成译文。,I wish you success!,1.3 编译程序的实现机制,遍:编译程序对源程序或等价程序从头至尾 扫描的次数。,根据语言和环境的不同,编译程序实现时是把图 1.4 中的各阶段划分成若干遍;典型的情况是两遍的编译程序:第一遍:词法分析、语法分析和语义分析;第二遍:中间代码优化和目标代码生成。每遍中的各阶段的工作是穿插进行的,例如:使语法分析器处于核心位置。当语法分析需要下一个单词时,就调用词法分析器,识别一个单词;一旦识别出一个语法单位,就调用语义分析器,完成语义分析并产生中间代码。,1.4 编译程序的生成方法,编译程序的生成方法:利用已有的编译器 自编译方式 移植方式:重写编译器代码的后端,自动生成编译程序:词法分析程序生成器LEX 语法分析程序生成器YACC 编译程序生成器,输入:词法规则、语法规则和语义解释,三个语言:源语言、目标语言和实现语言。,1.5 编译过程实例分析,例:C程序片段:,1.词法分析:识别单词并分类,int a,b;.b=a+2*5;,编译过程如下:,关键字(k)-int 标识符(i)-a,b 常 数(c)-2,5 界 符(p)-,;=+*,单词类码,图 1.6 赋值语句 b=a+2*5 的语法树,例:b=a+2*5 的分析过程如下所示:(生成的结果是一棵语法树),=,b,+,*,a,2,5,2.语法分析:组词成句及语法错误检查,算术表达式的层次结构,3.语义分析:分析各种语法成分的语义特征,构建标识符的语义辞典-符号表:,构造语句的语义树-中间语言;,数据区,符号表,(1)(*2 5 t1)(2)(+a t1 t2)(3)(=t2 _ b),或,4.优化:提高目标程序的质量,(1)(*2 5 t1)(2)(+a t1 t2)(3)(=t2 _ b),经常数合并,可分别获得优化后的中间代码如下图所示:,(1)(+a 10 t2)(2)(=t2 _ b),5.目标代码生成,上例可生成目标代码:,(1)(+a 10 t2)(2)(=t2 _ b),R 为寄存器三条指令分别为:取、加 和 存。,

    注意事项

    本文(编译程序基本概念.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开