图书介绍

编译原理及编译程序构造 第2版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

编译原理及编译程序构造 第2版
  • 薛联凤,秦振松编著 著
  • 出版社: 南京:东南大学出版社
  • ISBN:9787564140960
  • 出版时间:2013
  • 标注页数:285页
  • 文件大小:12MB
  • 文件页数:295页
  • 主题词:编译程序-程序设计

PDF下载


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

下载说明

编译原理及编译程序构造 第2版PDF格式电子书版下载

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

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

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

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

图书目录

1 引论1

1.1程序设计语言与编译1

1.2编译程序概述3

1.2.1词法分析3

1.2.2语法分析4

1.2.3中间代码生成5

1.2.4优化5

1.2.5目标代码生成6

1.2.6表格与表格管理6

1.2.7出错处理8

1.2.8遍9

1.3编译程序生成11

1.4编译程序构造12

习题12

2 编译基础知识13

2.1字母表与符号串13

2.1.1符号串集合的运算13

2.1.2符号串的前缀、后缀及子串14

2.1.3字母表的闭包与正闭包14

2.2文法与语言的关系14

2.2.1文法的直观概念14

2.2.2文法与语言的形式定义18

2.3文法构造与文法简化21

2.3.1由语言构造文法的例子21

2.3.2文法的简化22

2.3.3构造无ε产生式的上下文无关文法23

2.4语法树与文法的二义性24

2.4.1语法树24

2.4.2文法的二义性26

习题27

3 词法分析30

3.1正规文法和有限自动机30

3.1.1正规文法、正规集与正规式30

3.1.2有限自动机32

3.1.3正规式与有限自动机之间的关系37

3.1.4正规文法与有限自动机40

3.2词法分析程序42

3.2.1预处理与超前搜索42

3.2.2扫描器的输出格式44

3.2.3扫描器的设计46

3.3词法分析程序的自动生成52

3.3.1 LEX语言53

3.3.2 LEX编译程序的构造55

习题57

4 自上而下语法分析60

4.1下推自动机60

4.2 自上而下分析法的一般问题61

4.2.1消除左递归63

4.2.2消除回溯——预测与提左因子65

4.3预测分析程序与LL(1)文法66

4.3.1求串α的终结首符集和非终结符A的随符集68

4.3.2构造预测分析表70

4.3.3状态表72

4.4递归下降分析法74

习题81

5 优先分析法84

5.1简单优先分析方法84

5.1.1基本思想84

5.1.2有关文法的一些关系85

5.1.3优先矩阵的构造算法89

5.1.4简单优先分析算法91

5.2算符优先分析法93

5.2.1算符优先分析技术的引进94

5.2.2算符优先文法及优先表的构造97

5.2.3算符优先分析的若干问题100

5.3优先函数104

习题106

6 LR分析法及分析程序自动构造109

6.1 LR分析器109

6.2 LR(0)项目集族和LR(0)分析表的构造112

6.2.1 LR(0)项目集规范族的构造114

6.2.2 LR(0)分析表的构造算法115

6.3 SLR分析表的构造116

6.4规范LR分析表的构造119

6.4.1构造LR(1)项目集规范族的算法120

6.4.2构造LR(1)分析表的算法121

6.5 LALR分析表构造122

6.5.1基本思想123

6.5.2构造LALR分析表的算法124

6.6二义文法的应用126

6.7分析表的自动生成130

6.7.1终结符和产生式的优先级130

6.7.2结合规则131

6.7.3 LR分析表的安排133

习题134

7 语法制导翻译并产生中间代码136

7.1概述136

7.2简单算术表达式和赋值语句的翻译138

7.2.1四元式138

7.2.2赋值语句的翻译139

7.2.3类型转换141

7.3布尔表达式的翻译142

7.3.1布尔表达式在逻辑演算中的翻译142

7.3.2控制语句中布尔式的翻译143

7.4控制语句的翻译147

7.4.1标号和转移语句148

7.4.2 IF语句的翻译149

7.4.3 WHILE语句的翻译151

7.4.4 REPEAT语句的翻译152

7.4.5循环FOR语句的翻译153

7.4.6分情语句的翻译155

7.4.7复合语句的翻译160

7.5数组元素及其在赋值语句中的翻译160

7.5.1数组及其下标变量地址的计算160

7.5.2数组元素引用的中间代码形式163

7.5.3按行存放的赋值语句中数组元素的翻译163

7.5.4按列存放的赋值语句中数组元素的翻译166

7.6过程调用语句168

7.6.1参数传递168

7.6.2过程调用语句的翻译170

7.6.3过程调用和数组元素相混淆的处理171

7.7说明语句的翻译171

7.7.1分程序结构的符号表171

7.7.2整型、实型说明语句的翻译174

7.7.3常量定义语句的翻译176

7.7.4数组说明语句的翻译176

7.7.5过程说明语句的翻译177

7.8输入/输出语句的翻译178

7.9 自上而下分析制导的翻译179

7.9.1算术表达式的翻译179

7.9.2布尔表达式的翻译181

7.9.3简单语句的翻译183

7.9.4 LL(1)语法制导翻译186

7.10属性文法与属性翻译188

7.10.1属性文法与L属性文法188

7.10.2属性翻译190

7.11 中间代码的其他形式192

7.11.1后缀表示法192

7.11.2三元式196

7.11.3间接三元式197

7.11.4树197

习题198

8 运行时数据区的管理202

8.1静态存储管理202

8.1.1数据区202

8.1.2公用语句处理204

8.1.3等价语句处理205

8.1.4地址分配207

8.1.5临时变量地址分配210

8.2栈式存储管理211

8.2.1允许过程(函数)递归调用的数据存储管理211

8.2.2嵌套过程语言的栈式存储管理214

8.3堆式存储管理219

8.3.1堆式存储管理技术219

8.3.2堆空间的释放与无用单元收集222

习题223

9 代码优化225

9.1优化概述225

9.1.1局部优化简介225

9.1.2循环优化简介226

9.1.3全局优化简介228

9.2局部优化229

9.2.1基本块229

9.2.2基本块的DAG表示230

9.2.3 DAG在基本块优化中的作用234

9.2.4 DAG构造算法讨论236

9.3控制流程分析和循环查找算法238

9.3.1程序流图与必经结点集239

9.3.2深度为主排序240

9.3.3查找循环算法241

9.4数据流分析241

9.4.1到达-定值数据流方程242

9.4.2引用-定值链(ud链)244

9.4.3活跃变量及数据流方程244

9.5循环优化246

9.5.1代码外提246

9.5.2强度减弱与归纳变量删除248

习题249

10 目标代码生成255

10.1模型计算机的指令系统255

10.2一种简单代码生成算法256

10.2.1活跃信息与待用信息256

10.2.2寄存器和变量地址描述257

10.2.3代码生成算法258

10.3循环中寄存器分配261

10.4 DAG结点的一种启发式排序263

习题266

附录 EL语言编译程序268

A.EL语言文法的扩充Backus表示法268

B.EL语言编译程序构造的实践指导269

C.扩充的EL语言文法与中间代码的解释执行程序281

参考文献285

热门推荐