图书介绍

编译原理及其实现技术2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

编译原理及其实现技术
  • 侯文永编著 著
  • 出版社: 上海:上海交通大学出版社
  • ISBN:7313012802
  • 出版时间:1993
  • 标注页数:216页
  • 文件大小:9MB
  • 文件页数:227页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

编译原理及其实现技术PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一章 引论1

1.1 编译程序是一种特定的翻译程序1

1.2 编译程序的结构2

一、词法分析阶段3

二、语法分析阶段3

三、语义分析、中间代码生成阶段3

四、优化阶段3

五、目标代码生成阶段3

六、符号表管理4

七、出错管理程序4

八、编译阶段的前端和后端4

1.3 编译程序的生成5

九、遍5

一、自展6

二、移植6

三、对编译程序的评价7

1.4 编译程序的学习7

第二章 文法和语言9

2.1 基本概念9

一、语言9

二、文法11

三、归约与句柄13

2.2 分析树与二义性15

一、分析树15

二、子树15

三、二义性16

2.3 形式语言分类17

习题18

第三章 词法分析20

3.1 构造一个简单的词法分析器20

一、词法分析器的功能20

二、扫描援冲区23

三、超前搜索25

四、状态转换图25

五、状态转换图的实现26

3.2 正规表达式与正规集29

一、正规式与正规集的定义29

二、正规式的性质30

一、有限自动机的定义31

三、正规式与正规文法31

3.3 有限自动机31

二、FA的表示32

三、FAM识别的语言33

四、NFAM的确定化34

五、DFAM的简化36

3.4 正规式与有限自动机37

一、正规式与有限自动机的等价性37

二、自正规式构造等价的NFAM39

3.5 词法分析器的自动生成40

习题40

4.2 梯归下降分析方法43

一、试探分析法43

4.1 语法分析概述43

第四章 语法分析43

二、提取左因子44

三、清除左递归45

四、预测分析器47

4.3 非递归的预测分析方法48

一、表驱动的预测分析器48

二、FIRST集和FOLLOW集50

三、LL(1)文法51

四、预测分析表的构造52

五、错误处理52

4.4 算符优先分析法53

一、算符优先关系表53

二、算符优先分析方法54

三、优先关系表的构造56

四、优先函数57

五、错误处理58

4.5 LR分析器58

一、LR分析法58

二、识别活前缀的DFA61

三、SLR分析表的构造65

四、LR(1)分析表的构造66

五、LALR分析表的构造69

4.6 二义文法的应用75

4.7 分析表的自动生成77

习题78

一、语法制导定义形式81

5.1 语法制导定义81

第五章 语法制导翻译81

二、属性分类82

三、综合属性83

四、继承属性84

五、依赖图84

六、计算次序85

5.2 L--属性定义86

一、深度为主属性求值86

二、L--属性定义86

三、翻译方案87

5.3 属性的自下而上计算88

一、S属性的自下而上计算88

二、继承属性的自下而上计算90

一、删除翻译方案的左递归94

5.4 属性的自上而下计算94

二、构造语法树的翻译方案96

三、预测翻译器的设计99

四、递归计算99

习题104

第六章 运行时的环境106

6.1 若干问题的讨论106

一、关于过程106

二、活动树及控制栈107

三、名字的作用域109

四、名字的关联110

五、要回答的问题110

6.2 存贮管理111

一、存贮空间的组织111

二、活动记录112

四、栈式存贮分配113

三、静态存贮分配113

五、堆式存贮分配117

6.3 动态存贮分配对作用域的考虑118

一、静态作用域规则与动态作用域规则118

二、程序块(Block)119

三、不含嵌套过程的词法作用域120

四、含嵌套过程的词法作用域120

五、动态作用域124

6.4 参数传递124

一、传值调用(call-by-valuc)125

二、引用调用(call-by-reference)125

四、传名调用(call-by-name)126

三、复写恢复(copy-restore)126

6.5 符号表127

一、符号表的组织127

二、常用的符号表结构128

三、作用域在符号表组织中的反映129

习题130

第七章 中间代码生成133

7.1 中间语言133

一、后缀表示133

二、图表示133

三、三地址代码135

四、三地址语句的种类135

五、语法制导翻译生成三地址代码136

六、三地址代码的具体实现137

7.2 说明语句138

一、一类说明语句的翻译方案138

二、嵌套过程中的说明语句139

三、记录中的域名141

7.3 赋值语句142

一、只含简单变量的情况142

二、数组元素的地址计算公式143

三、含数组元素的变量的访问144

四、含数组元素的赋值语句的翻译方案144

五、赋值语句中类型转换问题146

六、访问记录结构中的域147

二、布尔表达式的两种翻译方法148

三、数值表示法148

7.4 布尔表达式148

一、布尔表达式的两种基本作用148

四、控制流语句150

五、控制流语句中布尔表达式的翻译151

7.5 CASE语句153

7.6 控制转移中的回填方法154

一、使用回填翻译布尔表达式155

二、使用回填翻译控制流语句157

三、标号和转向语句160

7.7 过程调用161

习题162

二、不同阶段的优化165

一、优化定义165

8.1 优化概述165

第八章 代码优化165

三、程序流图的构造166

8.2 局部优化168

一、基本块内的优化168

二、基本块的dag表示169

三、dag的构造169

四、dag实现的优化172

五、对dag构造算法的修正173

8.3 控制流分析及循环的查找174

一、循环的定义175

二、必经结点集176

三、自然循环177

四、可归约流图179

五、深度优先搜索180

6.4 数据流分析182

一、到达一定值数据流方程和ud链182

二、活跃变量数据流方程和du链183

三、可用表达式数据流方程与复写传播184

四、非常忙表达式与代码提升186

五、数据流方程的求解186

8.5 循环优化187

一、循环优化的例子188

二、代码外提188

三、归纳变量192

四、强度削弱193

五、删除归纳变量193

习题195

9.1 目标代码199

一、代码生成器的输入与输出199

二、目标机器199

第九章 代码生成199

9.2 一个简单代码生成器200

一、待用信息200

二、寄存器描述和地址描述201

三、如何生成目标代码201

四、函数getreg(P:x:=y op z)202

五、代码生成算法202

9.3 寄存器分配203

一、执行代价的节省203

二、固定分配寄存器的代码生成205

四、用图的点着色法作寄存器分配206

三、多重循环的寄存器分配206

9.4 窥孔优化207

一、删除多余存取指令207

二、删除死代码207

三、控制流优化207

四、代数化简208

五、强度削弱208

六、利用机器特点209

9.5 由dag生成代码209

一、重新安排计算次序209

二、dag为树时最优化码生成211

习题214

参考书目216

热门推荐