编译程序引-1.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译程序引-1

编 译 原 理 课程简介 课程考核方法 主要采用闭卷考试的形式;同时,作业完成情况和上机实践的结果占一定的比例。 考试成绩 = 闭卷考试+ 考勤和作业完成 情况 + 上机 联系方式 E-mail: 312287893@ Tel:作业可通过班长(或课程代表)提交。 如有什么建议和问题,课后可E-mail或电话联系。 编译原理 第一章 引论 第二章 高级语言及其语法描述 第三章 词法分析 第四章 语法分析—自上向下分析 第五章 语法分析—自下向上分析 第六章 属性文法与语法制导翻译 第七章 语义分析和中间代码生成 第八章 符号表 第九章 运行时存储空间组织 第十章 优化 第十一章 目标代码生成 第十二章 并行编译基础 第一章 引论 1.1 什么叫编译程序 1.2 编译过程概述 1.3 编译程序的结构 1.4 编译程序与程序设计环境 1.5 编译程序的生成 第一章 引论 1.1 什么叫编译程序 1. 程序设计语言 编译程序:是指这样的程序,它能够把某种语言的程序转换成另一种语言的程序,而后者与前者在逻辑上是等价的。如果源语言是诸如FORTRAN、Pascal、C、Ada、Smalltalk或Java这样的“高级语言”,而目标语言如汇编语言之类的“低级语言”这样的翻译程序则称之为编译程序。 2.在计算机上如何执行一个高级语言程序? 1)把高级语言程序翻译成机器语言程序; 2)运行所得的机器语言程序求得计算结果。 2. 翻译和解释程序  (1)翻译和编译程序 (2) 编译和解释程序 编译程序的分类 诊断型编译程序: 用于帮助程序开发和调试的编译程序。 优化型编译程序: 着重于提高目标代码效率的编译程序。 交叉型编译程序 可变目标型编译程序 编译技术的发展 第一个编译程序出现在20世纪50年代早期,主要是将算术公式翻译成机器代码。 20世纪60年代起,出现自编译技术。 还在不断发展之中,目前已经形成一套比较成熟的系统化的理论和方法。 1.2 编译过程概述 编译程序的工作过程指从输入源程序开始到输出目标程序为止的整个过程。一般可划分为五个阶段:词法分析、语法分析、语义分析和中间代码生成、代码优化、目标代码生成。 1)词法分析 词法分析的任务是输入源程序, 对构成源程序的字符串进行扫描和分解,识别出一个个单词符号, 并将识别出的单词用统一长度的标准形式表示。词法分析过程就是将源程序中的字符串变换成单词串的过程。 1)编译程序的功能和组织结构 4)相关概念 1.4 编译程序与程序设计环境 编译程序无疑是实现高级语言的一个最重要的工具。但支持程序设计人员进行程序设计开发通常还需要其它一些工具:如编辑程序、连接程序、调试程序等。编译程序与这些程序设计工具一起构成所谓的程序设计环境。 在一个程序设计环境中,编译程序起着中心的作用。连接程序、调试程序、程序分析等工具直接依赖于编译程序所产生的结果,而其它工具的构造也常常要用到编译的原理、方法和技术。 1.5 编译程序的生成 1 常用的方法(根据语言来分) 1)直接用机器语言编写编译程序 2)用汇编语言编写编译程序 注:编译程序核心部分常用汇编语言编写 3)用高级语言编写编译程序 注:这是普遍采用的方法 2 常用的方法(根据实现途径来分) 1)自编译 2)编译工具:LEX(词法分析)与YACC(用于自动产生LALR分析表) 3)移植(同种语言的编译程序在不同类型的机器之间移植) 3移植 用L1语言实现L2语言的编译程序 4 编译程序的设计实现 设计和实现一个编译程序,必须精通: 源 语 言 目标语言 编译方法 5 经典的编译程序 谢 谢 3)出错处理 出错处理程序的任务包括检查错误、报告出错信息、排错、恢复编译工作。 错误类型: 语法错误:在词法分析和语法分析阶段检测 出来。 语义错误:一般在语义分析阶段检测。 禹彭古炮津会绅琵薪晰打胞曙摹氓够若掸紊昆躁息掷贷壹拦半停献灯佑祷编译程序引-1编译程序引-1 编译程序的前端: 与源语言有关,而与目标机无关的编译程序 编译程序的后端: 与目标机有关,而与源语言无关的编译程序 遍(趟):是对源程序或源程序的中间结果从头到尾扫描一遍,并作有关加工处理,生成新的中间结果或目标程序。 宿主机:运行编译程序的计算机称为宿主机。 目标机:运行编译程序所产生的目标代码的计算机成为目标机。 丰薛南帘乙是凸氰朵乍匹粉斌县候养芽先郊嫌蔫刁台叠柜绑仁慨牡避

文档评论(0)

bm5044 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档