图书介绍

编译原理简明教程pdf电子书版本下载

编译原理简明教程
  • 崔冬华等编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:7505376276
  • 出版时间:2002
  • 标注页数:253页
  • 文件大小:11MB
  • 文件页数:265页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
下载压缩包 [复制下载地址] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页

下载说明

编译原理简明教程PDF格式电子书版下载

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

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

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

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

图书目录

第1章 引言 1

1.1 编译程序、汇编程序、解释程序 1

1.1.1 什么是编译程序 1

1.1.2 什么是汇编程序 1

1.1.3 什么是解释程序 2

1.2 编译过程概述 3

1.3 编译程序的结构框图 6

1.4 编译程序的开发 6

1.4.1 编译程序的开发步骤 6

1.4.2 编译程序的开发技术 7

1.4.3 编译程序的自动生成 8

习题1 8

第2章 形式语言理论基础 9

2.1 形式语言的基本概念 9

2.1.1 符号和符号串 9

2.1.2 符号串的运算 10

2.2 文法和语言的形式定义 12

2.3 语法树和二义性 17

2.3.1 语法树和推导 17

2.3.2 文法的二义性 20

2.4 文法的实用限制 22

2.4.1 有害规则 22

2.4.2 多余规则 23

2.4.3 文法的实用限制 24

2.4.4 文法的等价变换 25

2.4.5 扩充的BNF表示法 30

2.5 文法和语言的Chomsky分类 30

2.5.1 0型文法与0型语言(对应图灵机) 31

2.5.2 1型文法与1型语言(对应线性界限自动机,自然语言) 31

2.5.3 2型文法与2型语言(对应下推自动机,程序设计语言) 32

2.5.4 3型文法与3型语言(对应有限自动机) 32

2.5.5 四类文法的关系 33

习题2 34

第3章 自动机理论基础 36

3.1 有限自动机的基本概念 36

3.1.1 有限自动机的定义及表示法 36

3.1.2 有限自动机的机器模型 38

3.1.3 确定有限自动机(DFA) 39

3.1.4 有限自动机在计算机内的表示 40

3.1.5 不确定有限自动机(NFA) 41

3.1.6 由NFA到DFA的等价转换 42

3.2 确定有限自动机DFA的化简 44

3.2.1 等价状态和无关状态 45

3.2.2 自动机的化简 45

3.3 正则表达式形式定义 47

3.4 下推自动机PDA 48

3.4.1 下推自动机的机器模型 48

3.4.2 PDA的形式定义 49

习题3 51

第4章 词法分析 53

4.1 词法分析概述 53

4.1.1 词法分析的功能 53

4.1.2 词法分析的两种处理结构 53

4.1.3 单词符号的种类 54

4.1.4 词法分析程序的输出形式 54

4.2 词法分析程序的设计与实现 55

4.2.1 词法分析程序流程图 55

4.2.2 读单词 55

4.2.3 读无符号数 59

4.2.4 读标识符 60

4.3 词法分析程序的自动生成 62

4.3.1 基本思想 62

4.3.2 LEX源程序结构 63

4.3.3 LEX编译程序工作过程 65

4.3.4 LEX的实现 65

4.3.5 LEX的使用方式 66

习题4 67

第5章 语法分析──自顶向下分析方法 69

5.1 自顶向下分析技术 69

5.2 不确定的自顶向下分析思想 70

5.2.1 三种终结符号集 71

5.2.2 自顶向下分析过程中存在的问题及解决办法 72

5.3 确定的自顶向下分析思想 74

5.4 LL(K)分析方法 75

5.4.1 LL(1)分析思想 75

5.4.2 LL(1)分析方法的逻辑结构 76

5.4.3 LL(1)分析方法 76

5.5 递归下降分析法 83

5.5.1 递归下降分析法的实现思想 83

5.5.2 递归子程序及其性质 83

5.5.3 递归下降分析法 85

习题5 89

第6章 语法分析——自底向上分析方法 92

6.1 自底向上分析技术 92

6.1.1 自底向上分析的基本思想 92

6.1.2 自底向上分析难点 93

6.2 自底向上优先分析方法 94

6.2.1 简单优先分析方法 94

6.2.2 算符优先分析方法 98

6.3 LR(K)分析方法 107

6.3.1 LR分析思想及逻辑结构 107

6.3.2 LR(0)分析方法 111

6.3.3 SLR(1)分析方法 119

6.3.4 LR(1)分析方法 122

6.3.5 LALR(1)分析方法 125

习题6 130

第7章 语义分析及中间代码的生成 132

7.1 基本概念 132

7.1.1 语义分析的概念 132

7.1.2 属性文法技术 134

7.2 几种常见的中间语言 136

7.2.1 抽象语法树 136

7.2.2 逆波兰表示 138

7.2.3 四元式 141

7.2.4 三元式 144

7.3 表达式的翻译 148

7.3.1 算术表达式的翻译 148

7.3.2 布尔表达式的翻译 149

7.4 语句的语法制导翻译 152

7.4.1 说明语句的翻译 152

7.4.2 赋值语句的翻译 155

7.4.3 控制语句的翻译 156

习题7 159

第8章 符号表 161

8.1 符号表的组织与内容 161

8.2 符号表的结构与存放 163

8.2.1 线性符号表 163

8.2.2 有序符号表 164

8.2.3 散列符号表 164

8.2.4 栈式符号表 165

8.3 符号表的管理 168

8.3.1 符号表的建立 168

8.3.2 符号表的查填 169

习题8 170

第9章 目标程序运行时的存储组织与分配 171

9.1 程序运行时的存储组织 171

9.2 静态存储分配 172

9.3 栈式动态存储分配 173

9.3.1 简单的栈式存储分配 174

9.3.2 嵌套过程语言的栈式存储分配 175

9.4 堆式动态存储分配 177

习题9 179

第10章 代码优化 180

10.1 代码优化的基本概念 180

10.1.1 代码优化的定义 180

10.1.2 代码优化的分类 180

10.1.3 优化技术简介 181

10.2 局部优化 185

10.2.1 基本块的划分 185

10.2.2 基本块的DAG表示 186

10.2.3 基本块优化的实现 189

10.3 循环优化 191

10.3.1 循环的查找 191

10.3.2 循环优化的实现 192

习题10 196

第11章 目标代码的生成 199

11.1 目标代码生成程序中的有关问题 199

11.1.1 目标代码生成程序的输入、输出 199

11.1.2 目标代码 200

11.1.3 寄存器分配 200

11.1.4 运行时的存储管理 201

11.2 一个计算机模型──虚拟机 201

11.2.1 虚拟机 201

11.2.2 虚拟机的汇编指令 202

11.3 从中间代码生成目标代码 204

11.3.1 从逆波兰表示生成目标代码 205

11.3.2 从四元式序列生成目标代码 207

习题11 208

第12章 错误校正 209

12.1 引言 209

12.1.1 错误存在的必然性 209

12.1.2 错误的种类 209

12.1.3 错误复原 210

12.2 校正词法错误 211

12.2.1 词法错误的种类 211

12.2.2 词法错误的校正 212

12.3 校正语法错误 212

12.3.1 语法错误的复原 212

12.3.2 语法错误的校正 213

12.4 校正语义错误 214

12.4.1 语义错误的种类 214

12.4.2 语义错误检查措施 215

习题12 216

附录A PL/0编译程序 217

附录B LEX词法分析自动生成程序 238

附录C YACC语法分析自动生成程序 245

参考文献 253

精品推荐