编译原理一2.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理一2

编译原理 教材: 《编译原理》,蒋立源等编,西北工业大学出版社 参考教材: 《编译程序设计原理》北京大学出版社 《编译原理》清华大学出版社 《程序设计语言与编译》电子工业出版社 ;内 容 第一章 绪论 第二章 前后文无关文法和语言 第三章 词法分析与词法分析程序 第四章 语法分析与语法分析程序 第五章 语法制导翻译及中间代码生成 第六章 符号表 第七章 运行时的存贮组织与分配 第八章 代码优化 第九章 目标代码生成 第十章 查错与改错 ; ; 翻译程序:把源程序翻译成与之等价的目标程序的程序。 根据翻译的源语言与目标语言的不同,翻译程序可以分成很多种。 编译程序:源程序是高级语言,目标程序是某种低级语言的翻译程序。 汇编程序:源程序是汇编语言,目标程序是机器语言的翻译程序。; 翻译程序:把源程序翻译成与之等价的目标程序的程序。 根据翻译过程的组织不同,翻译程序主要分成编译程序和解释程序。 编译程序:将某种高级语言程序作为输入并进行翻译,产生优化的目标代码并投入执行。 解释程序:将某种高级语言语句作为输入并解释执行,不产生能被执行的结果目标代码。 以解释方式执行高级语言程序结构简单、占用内存少、工作效率低、诊错慢......; ;§1.1 编译过程概述 编译过程可以划分成以下六个阶段: 词法分析:又称扫描器,任务是输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词符号。 语法分析:以词法分析输出的单词序列为输入,根据语言的语法规则,把单词符号串分解成各类语法单位,如短语、句子、序列段等。 语义分析:判定各语法成分的含义和功能,确定它们的属性或执行时应运行的运算或操作。 中间代码生成:中间代码是一种结构简单、含义明确的记号系统,是介于源语言和目标语言之间的语言代码,一般独立于具体硬件。常用逆波兰式、三元式、四元式及树型结构等。 代码优化:对中间代码进行等价变换,以期最终产生更高效(省时间、省空间)的目标代码,优化??略主要有公共子表达式提取,循环优化等等。 目标代码生成:接受中间代码(或经优化处理之后),变换为机器语言或汇编语言形式的目标程序。(目标代码主要有三种形式:绝对地址码、汇编语言、浮动地址码链接) ;§1.2 编译程序的逻辑结构 上节编译的六个阶段是编译程序工作的动态特征,每个阶段的工作都和“出错处理”与“表格管理”功能摸块相关。 诊断程序:在编译系统各部分插入的用于进行有关程序错误诊断和报告的程序段。 信息表格:编译程序在工作过程中需保持的一系列用以登记源程序各类信息和编译各阶段进展情况的表格。如符号名表、常数表、过程引用表。;信 息 表 格 管 理 程 序;§1.3编译程序的组织 编译程序往往把不同阶段的工作组合成遍。 1)遍:指对源程序或其内部表示从头到尾扫视一遍,并进行有关的加工处理。 2)一遍扫描:以语法分析程序为中心。 3)多遍扫描:每遍扫描产生与源程序等价的内部表示或中间代码。 多遍扫描的优点: 功能独立;结构清晰;利于优化;节省空间。 ;编译原理的学习意义;编译原理的学习意义;编译原理的学习意义;编译原理的学习意义;小结

文档评论(0)

liangyuehong + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档