[高等教育]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编译程序概述

编 译 原 理 课程简介 考试成绩 编译原理 第一章 编译程序概述 第二章 一个微小编译器 第三章 文法和语言 第四章 词法分析 第五章 自顶向下语法分析方法 第六章 自底向上优先分析方法 第七章 LR分析方法 第八章 语法制导翻译和中间代码生成 第九章 符号表 第一○章 代码优化 第一一章 代码生成 1.1 什么叫编译程序 翻译程序:能够将某种语言写的程序转换成另一种语言的程序,而且后者与前者在逻辑上是等价的。 编译程序:是一种将高级语言程序(源程序)翻译成低级语言(目标程序)的程序 1.1 什么叫编译程序 1. 功能 编译的过程 3、什么是编译原理 编译原理是讨论编译程序设计的基本理论、基本概念和基本方法的一门学科。 1.2 编译过程概述 1、六个阶段:词法分析、语法分析、语义分析与中间代码生成、代码优化、目标代码生成 编译过程概述(续) 语法分析:在词法分析的基础上,根据语言的语法规则,将单词符号串分解成各类语法短语(例:程序、语句、表达式) 例:表达式:标识符、常数是表达式;表达式的运算也是表达式 语句:标识符=表达式 while (布尔表达式) do 语句 if (表达式) then 语句 else 语句 A:=B+C*5 编译过程概述(续) 语义分析和中间代码生成:对语法分析所识别出的各类语法单位分析其含义,进行初步的翻译(翻译成中间代码)。这一阶段有两项工作:首先对每种语法范畴进行静态语义审查(如是否定义,类型是否匹配等),若无语义错误,进行中间代码的翻译。??? ?例:A=A*B+C (检查A、B、C类型) ????中间代码有多种形式,如: 四元式: (运算符,运算对象1,运算对象2,结果) (+,A,B,T1) (+,T1,C,T2) (=,T2,-,A) 语义分析依据的是语言的语义规则,表示工具是属性文法。 编译过程概述(续) 代码优化:对已产生的中间代码进行加工变换,使生成的目标代码更为高效 。优化包括:公共子表达式的提取、循环优化、删除无用代码等。 代码的优化依据的是程序的等价变换规则。 目标代码的生成:把中间代码(或经优化的中间代码)变换成特定机器上的低级语言代码。 目标代码可以是:绝对指令代码、可重定位的指令代码、汇编指令代码 编译程序的结构 编译程序的结构(续) 几个概念 符号表:登记源程序中出现的名字以及名字的各种属性 出错处理: 遍:对源程序或源程序的中间结果从头到尾扫描一次,并作有关的加工处理,生成新的中间结果或目标程序。 编译前端:主要指与源语言有关,与目标语言无关的部分,通常包括词法分析、语法分析、语义分析和中间代码生成,与机器无关部分的代码优化 编译后端:指与目标机器有关的部分。如与机器有关的优化、目标代码生成 构造编译程序 一般生成编译程序的方法有: 用一种语言写另一种语言的编译程序 在一台机器上用一种语言写另一台机器上(另)一种语言的编译程序 自编译方式 构造编译程序要掌握以下几方面的内容: 源语言:理解其结构和含义 目标语言:必须清楚硬件的系统结构和指令的格式等 编译方法 作 业 教材练习第2、4题P12 * * 主讲:蒋贤芳 先行课程:高等数学、C (PASCAL)、离散数学、       汇编语言、数据结构   编译原理课程应用领域 编译器的设计 一般的软件设计 例如: 文本编辑器、信息检索系统、模式识别器 排版、绘图系统 程序验证器 编译原理 吕映芝 清华大学出版社 编译程序设计原理 杜淑敏等 北京大学出版社 编译原理习题解答 伍春香等 清华大学出版社 编译程序构造原理 和实现技术 金成植 高等教育出版社 程序设计语言编译程序 陈火旺等 国防工业出版社 Compiler Construction Principle and Pratice 编译原理及实践 Kenneth C.Louden 机械工业出版社 参 考 书 籍 参 考 书 籍 作业成绩10%+出勤10% + 期考成绩80 % 编译程序 程序设计语言 机器语言 2、计算机语言的层次 三个层次 :高级语言、汇编语言、机器语言 语言转化: 高级语言--机器语言(编译) 机器语言--高级语言(反编译) 汇编语言--机器语言(汇编) 机器语言--汇编语言(反汇编) 2、每个阶段的任务: 词法分析:从左到右扫描源程序,识别出一个个单

文档评论(0)

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

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

1亿VIP精品文档

相关文档