《编译原理实用教程》PPT252.ppt

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

第1章 编译系统概述 1.1 程序设计语言的发展 1.2 基本术语解释 1.3 编译过程概述 1.4 出错处理 1.5 编译程序的前端和后端 1.6 编译程序的实现方式 1.1 程序设计语言的发展 汇编语言(Assemble Language) 1.2 基本术语解释 1.3 编译过程概述 1.4 出错处理(Error Handle) 1.5 编译程序的前端和后端 1.6 编译程序的实现方式 第2章 词法分析 2.1 词法分析器的设计考虑及手工构造 2.1.1 单词类型及二元式编码 2.1.2 源程序的输入及预处理 2.1.3 基本字的识别和超前搜索 2.1.4 遍 2.1.5 状态转换图和词法分析器的手工构造 2.2 正规式、自动机及词法分析器的自动生成 2.2.1 基本概念 2.2.2 正规式与正规集 2.2.3 确定有限自动机(DFA) 2.2.4 非确定有限自动机(NFA) 2.2.5 正规式与确定有限自动机的等价性 2.3 词法分析器的自动生成 2.1 词法分析器的设计考虑及 手工构造 2.1.1 单词类型及二元式编码 2.1.2 源程序的输入及预处理 2.1.3 基本字的识别和超前搜索 2.1.4 遍 2.1.5 状态转换图和词法分析器手工构造 2.2 正规式、自动机及词法分析器的自动生成 2.2.2 正规式与正规集 2.2.3 确定有限自动机(DFA) 2.2.4 非确定有限自动机(NFA) 2.2.5正规式与确定有限自动机的等价性 2.3 词法分析器的自动生成 第3章 程序设计语言的语法描述 3.1 文法的引入 3.2 上下文无关文法 3.3 文法举例(略) 3.1 文法的引入 3.2 上下文无关文法 第4章 自上而下的语法分析 4.1 带回溯的自上而下分析法概述 4.2 直接左递归的消除 4.3 不带回溯的自上而下分析法的基本原理 4.4 提取左因子 4.5 first集和follow集 4.6 递归下降分析法 4.7 预测分析法 4.1 带回溯的自上而下分析法概述 4.2 直接左递归的消除 4.3 不带回溯的自上而下分析法的基本原理 4.4 提取左因子 4.5.1 first集的定义及构造算法 4.5.2 follow集的定义及构造算法 4.6 递归下降分析法 4.7 预测分析法 第5章 自下而上的语法分析 5.1 自下而上的语法分析概述 5.2 LR分析法的基本原理 5.3 项目集规范族的构造 5.4 有效项目(略) 5.5 LR(0)分析表的构造 5.6 SLR(1)分析表的构造 5.7 LR语法分析器的控制程序 5.8 二义文法在LR分析法中的应用 5.9 应用举例(略) 5.10 LR分析法在词法分析器自动构造中的应用(略) 5.2 LR分析法的基本原理 5.3项目集规范族的构造 5.5 LR(0)分析表的构造 5.6 SLR(1)分析表的构造 ㈠SLR(1)分析法的引出 5.7 LR语法分析器的控制程序 5.8 二义文法在LR分析法中的应用 第6章 语法制导翻译和中间代码生成 6.1 语法制导翻译概述 6.2 符号表和常数表 6.3 中间代码 6.3.2 四元式 6.4 说明语句(简单变量)的翻译 6.5 整型算术表达式及赋值语句的翻译 6.6 混合型 6.7 布尔表达式的翻译 6.8 标号和无条件转移语句的翻译 6.9 控制语句的翻译 6.9.1 if-then语句的翻译 6.9.2 if-then-else语句的翻译 6.9.3 while-do语句的翻译 6.9.4 复合语句的翻译 6.10 小结 第7章 目标代码生成 7.1 汇编语言虚拟计算机模型 7.2 从四元式到汇编语言的翻译 7.3 一个简单目标代码生成器 7.4 静态地址分配 7.1 汇编语言虚拟计算机模型 7.2 从四元式到汇编语言的翻译 ㈡优点 调整方便。 例,设源程序为 x=(a+b)*c; y=-d 它的四元式代码为 ⑴ + a b T1 ⑵ * T1 c T2 ⑶ = T2 0 x ⑷ - d 0 T3 ⑸ = T3 0 y 若将源程序中的二条语句互换,改为 y=-d; x=(a+b)*c 它的四元式代码只要简单交换原二条语句相应的四元式即可,无需再作任何修改。 ⑴ - d 0 T3 ⑵ = T3 0 y ⑶ + a b T1 ⑷ * T1 c T2 ⑸ = T2 0 x ㈢缺点 在生成中间代码时引进大量临时变量。 ㈣临时变量的处理 在形成四元式时,考虑代码生

文档评论(0)

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

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

1亿VIP精品文档

相关文档