- 1、本文档共80页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[编译原理4.3
新课引入 例:文法G[E]:(1) E→E+T(2) E→T(3) T→T*F(4) T→F(5) F→(E)(6) F→I 能不能采用简单优先分析法进行 分析? 算符优先分析法 教学目的与要求 教学重点 教学目的与要求 教学重点 1.算符文法 算符文法定义: 如果文法G中没有形如U?…VW…的产生式,其中V,W∈VN,则称G为算符文法(OG)。 3.算符优先关系表的构造 引入两个概念: 3.算符优先文法 设有一算符文法G,如果对任意两个终结符对a,b之间至多只有?、?和?三种关系的一种成立,则称G一个算符优先文法。 主讲教师:徐艳群 §1.2 编译过程概述(6个阶段) 翻译程序的工作,从输入源程序开始到输出目标程序为止的整个过程,是非常复杂的。但就其过程而言,他与人们进行自然语言的翻译有许多相近之出。 分析 综合 翻译外文书刊 阅读原文 识别单词 分析句子 进行初步翻译 修辞加工 写出译文 编译源程序 输入并扫视源程序 词法分析 语法分析 语义分析 及中间代码的生成 代码优化 目标代码生成 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 1.编译程序结构 编译程序从输入源程序到输出目标程序,可由五部分来组成: 源程序 词法分析器 语法分析器 语义分析器 中间代码生成 优化 目标代码生成器 目标代码 表格管理 出错处理 分析 综合 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 2.编译过程 编译过程可分为两个阶段或三个阶段: 源 程 序 编 译 程 序 目 标 代 码 编译时 初 始 数 据 运行子程序 目标代码 计 算 结 果 运行时 源 程 序 编 译 程 序 汇 编 语 言 汇 编 程 序 目 标 代 码 初 始 数 据 运行子程序 目标代码 计 算 结 果 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 编译程序完成从源程序到目标程序的翻译工作,是一个复杂的整体的过程。从概念上来说,一个编译程序的整个工作过程是划分成阶段进行的,每个阶段将源程序的一种表示形式转换成另一种表示形式,各个阶段进行的操作在逻辑上是紧密连接在一起的,下面给出了一个编译过程的各个阶段,这是一种典型的划分方法。 §1.3 编译程序的逻辑结构 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 1.编译逻辑过程 词法分析 语法分析 语义分析 中间代码生成 代码优化 目标代码生成 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 另外两个重要的工作:表格管理和出错处理与上述六个阶段都有联系。编译过程中源程序的各种信息被保留在种种不同的表格里,编译各阶段的工作都涉及到构造、查找或更新有关的表格,因此需要有表格管理的工作。如果编译过程中发现源程序有错误,编译程序应报告错误的性质和错误发生的地点,并且将错误所造成的影响限制在尽可能小的范围内,使得源程序的其余部分能继续被编译下去,有些编译程序还能自动校正错误,这些工作称之为出错处理。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 词法分析器 语法分析器 语义分析及中间代码生成器 优化器 目标代码生成器 出 错 处 理 程 序 表 格 管 理 程 序 源程序 单词符号 语法单位 中间代码 中间代码 目标代码 编译程序总框图 Evaluation only. Created wi
文档评论(0)