- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编 译 原 理 课程简介 考试成绩 编译原理 第一章 编译程序概述 第二章 一个微小编译器 第三章 文法和语言 第四章 词法分析 第五章 自顶向下语法分析方法 第六章 自底向上优先分析方法 第七章 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 * * 主讲:蒋贤芳 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 先行课程:高等数学、C (PASCAL)、离散数学、 汇编语言、数据结构 编译原理课程应用领域 编译器的设计 一般的软件设计 例如: 文本编辑器、信息检索系统、模式识别器 排版、绘图系统 程序验证器 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 编译原理 吕映芝 清华大学出版社 编译程序设计原理 杜淑敏等 北京大学出版社 编译原理习题解答 伍春香等 清华大学出版社 编译程序构造原理 和实现技术 金成植 高等教育出版社 程序设计语言编译程序 陈火旺等 国防工业出版社 Compiler Construction Principle and Pratice 编译原理及实践 Kenneth C.
文档评论(0)