- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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、每个阶段的任务: 词法分析:从左到右扫描源程序,识别出一个个单
您可能关注的文档
- [高三数学]2010-2011北京东城区高三数学提高测试理.doc
- [高三数学]2011-2012学年度高三测试二集合函数.doc
- [高三数学]2011届高考数学函数的图象.doc
- [高三数学]2011届高三数学一轮复习精品课件:两角和与差的三角函数.ppt
- [高三数学]2011年高考数学解答题训练-21.doc
- [高三数学]2011高考变化说明.doc
- [高三数学]2012届高三数学一轮复习:集合与常用逻辑用语.doc
- [高三数学]2012届高三文科数学小综合专题--解析几何.doc
- [高三数学]2013年高考数学必修5课件:第1章32.ppt
- [高三数学]94空间两条直线位置关系.doc
- [高等教育]16第六章2通风机电气设备运行、维护 Microsoft PowerPoint 演示文稿.ppt
- [高等教育]11 72线性规划问题及其数学模型.ppt
- [高等教育]2008汇编试卷B卷.doc
- [高等教育]2009就业形势分析.doc
- [高等教育]1999-2000学年度第一学期期末考试计算机应用基础试题、答案106605.pdf
- [高等教育]2009年10月小学语文教学研究试卷03329.pdf
- [高等教育]2009年上半期新闻宣传部工作计划书.doc
- [高等教育]2009年3月大学生入党积极分子思想汇报【精品资料】免费下载.pdf
- [高等教育]2010-20111概率论与数理统计期终考试试卷A.doc
- [高等教育]2010实验63_邻苯二甲酸二丁酯-创新性实验模板0613.doc
文档评论(0)