当前位置:首页 > 工业技术
编译方法
编译方法

编译方法PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:贺汛,吴春寒,张兴元编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2010
  • ISBN:9787111318545
  • 页数:287 页
图书介绍:本书介绍程序设计语言的编译程序技术,主要由编译程序的基本结构、形式语言和自动机理论的基础知识、编译过程等组成。
《编译方法》目录

第1章 概述 1

1.1 程序设计语言与程序 1

1.1.1 程序设计语言的定义 1

1.1.2 程序设计语言的分类 1

1.1.3 程序及其结构 2

1.1.4 高级语言程序的处理过程 3

1.2 编译程序 4

1.2.1 编译与解释 4

1.2.2 编译过程和编译程序的结构 5

1.2.3 编译程序的生成 10

1.2.4 编译程序与程序设计环境 12

1.3 编译技术的应用 13

1.4 本章小结 13

1.5 习题 14

第2章 形式语言和文法 15

2.1 形式语言 15

2.1.1 语言的概念 15

2.1.2 语言的定义方式 17

2.2 文法 18

2.2.1 文法的形式定义 18

2.2.2 文法的表示方法 19

2.2.3 相关概念 21

2.3 文法的分类和化简 23

2.3.1 文法的分类 23

2.3.2 两个定理 25

2.3.3 文法的化简 26

2.4 文法的二义性 26

2.5 典型例题 29

2.6 本章小结 30

2.7 习题 31

第3章 有穷自动机 33

3.1 正规式与正规集 33

3.1.1 概念 33

3.1.2 正规式和正规文法的等价性 35

3.2 有穷自动机 37

3.2.1 有穷自动机 37

3.2.2 确定的有穷自动机 38

3.2.3 不确定的有穷自动机 39

3.2.4 NFA与DFA的等价性 40

3.2.5 DFA的化简 43

3.3 正规式和FA的等价性 46

3.3.1 构造与FA等价的正规式 46

3.3.2 构造与正规式等价的FA 49

3.4 正规文法和FA的等价性 51

3.4.1 构造与正规文法等价的FA 51

3.4.2 构造与FA等价的正规文法 53

3.5 典型例题 53

3.6 本章小结 58

3.7 习题 58

3.8 实验 59

第4章 词法分析 63

4.1 词法分析的任务 63

4.2 程序设计语言的单词 63

4.2.1 单词的种类 63

4.2.2 单词的机内表示方法 64

4.3 单词的形式描述 66

4.3.1 正规式描述 66

4.3.2 正规文法描述 67

4.4 词法分析程序的构造 68

4.4.1 根据DFA构造词法分析程序 68

4.4.2 词法分析程序构造的相关问题 71

4.5 词法分析程序的自动生成工具LEX简介 74

4.5.1 LEX语言源程序 74

4.5.2 LEX编译程序工作原理 76

4.6 典型例题 76

4.7 本章小结 77

4.8 习题 78

4.9 实验 79

第5章 自顶向下语法分析 82

5.1 程序设计语言的语法描述 82

5.2 自顶向下的语法分析概述 83

5.2.1 自顶向下的语法分析方法 83

5.2.2 确定的自顶向下的语法分析方法 84

5.2.3 不确定的自顶向下的语法分析方法 85

5.3 LL(1)文法 86

5.3.1 “回溯”的原因 86

5.3.2 “回溯”的消除 88

5.3.3 LL(1)文法的定义 90

5.4 预测分析法 95

5.4.1 预测分析表 95

5.4.2 分析栈 96

5.4.3 预测分析程序 97

5.5 递归下降分析法 98

5.6 典型例题 101

5.7 本章小结 104

5.8 习题 104

5.9 实验 106

第6章 算符优先分析 109

6.1 自底向上语法分析概述 109

6.1.1 自底向上语法分析过程 109

6.1.2 自底向上语法分析的实现 110

6.1.3 短语和句柄 112

6.2 简单优先分析法 114

6.2.1 优先关系 115

6.2.2 简单优先文法 116

6.2.3 简单优先分析法 117

6.3 算符优先分析法 118

6.3.1 算符优先文法 119

6.3.2 算符优先分析算法 122

6.4 优先函数 125

6.4.1 优先函数的定义 126

6.4.2 优先函数的构造 126

6.5 典型例题 128

6.6 本章小结 131

6.7 习题 132

6.8 实验 133

第7章 LR分析法 135

7.1 LR分析概述 135

7.1.1 分析思想 135

7.1.2 分析器组成 136

7.2 LR(0)分析表 137

7.2.1 LR(0)项目集规范族 137

7.2.2 LR(0)文法 143

7.2.3 LR(0)分析器的工作过程 146

7.3 SLR(1)分析表 147

7.3.1 SLR(1)文法 147

7.3.2 SLR(1)分析表的构造 148

7.4 LR(1)分析表 149

7.4.1 LR(1)文法 149

7.4.2 LR(1)项目集规范族的构造 151

7.4.3 LR(1)分析表的构造 153

7.5 LALR(1)分析表 153

7.5.1 LALR(1)文法 153

7.5.2 LALR(1)分析表的构造 155

7.6 语法分析程序的自动生成工具YACC简介 156

7.6.1 YACC对语言的要求 156

7.6.2 YACC的输入/输出 157

7.6.3 YACC源程序 157

7.7 典型例题 158

7.8 本章小结 162

7.9 习题 162

7.10 实验 164

第8章 语义分析和中间代码生成 167

8.1 语义分析 167

8.1.1 语义分析的任务 167

8.1.2 语义的描述 168

8.2 中间代码 170

8.2.1 逆波兰式 170

8.2.2 树代码 171

8.2.3 三地址码 172

8.3 自底向上语法制导翻译 174

8.3.1 语法制导翻译概述 175

8.3.2 说明语句的翻译 176

8.3.3 含简单变量的赋值语句的翻译 180

8.3.4 含数组元素的赋值语句的翻译 182

8.3.5 布尔表达式的翻译 183

8.3.6 控制语句的翻译 190

8.3.7 过程调用 198

8.4 典型例题 199

8.5 本章小结 202

8.6 习题 202

第9章 符号表 204

9.1 符号表的作用 204

9.2 符号表的内容 205

9.3 符号表的组织 208

9.3.1 符号表的总体组织 208

9.3.2 符号表的构造方法 208

9.3.3 域的组织 212

9.4 栈式符号表 213

9.5 符号表的管理 216

9.6 典型例题 217

9.7 本章小结 218

9.8 习题 218

第10章 运行时存储空间的组织 220

10.1 运行时存储空间的划分 220

10.2 数据空间的分配策略 221

10.2.1 静态存储分配策略 221

10.2.2 动态存储分配策略 221

10.3 栈式存储分配 225

10.3.1 简单程序设计语言的栈式存储分配 225

10.3.2 嵌套过程语言的栈式存储分配 228

10.4 典型例题 234

10.5 本章小结 235

10.6 习题 235

第11章 代码优化 237

11.1 代码优化概述 237

11.2 局部优化 237

11.2.1 基本块及其划分 237

11.2.2 基本块的优化技术 240

11.2.3 基本块优化技术的实现 243

11.3 循环优化 249

11.3.1 程序中的循环 249

11.3.2 循环的优化技术及其实现 252

11.4 典型例题 256

11.5 本章小结 259

11.6 习题 260

11.7 实验 261

第12章 目标代码生成 263

12.1 目标代码生成概述 263

12.2 模型计算机的指令系统 263

12.2.1 寻址方式 264

12.2.2 指令系统 264

12.3 一种简单代码生成算法 265

12.3.1 寄存器的使用原则 265

12.3.2 待用信息和活跃信息 266

12.3.3 寄存器描述和变量地址描述 269

12.3.4 基本块代码生成算法 270

12.4 DAG的目标代码生成 273

12.5 典型例题 274

12.6 本章小结 275

12.7 习题 276

附录A 综合实验 277

A.1 S语言说明 277

A.1.1 字符集的定义 277

A.1.2 单词集的定义 277

A.1.3 数据类型定义 277

A.1.4 表达式定义 277

A.1.5 语句定义 278

A.1.6 程序定义 278

A.1.7 源程序书写格式的规定 278

A.2 实验一词法分析程序 279

A.2.1 任务 279

A.2.2 要求 279

A.2.3 数据结构 280

A.2.4 程序参考结构及模块说明 281

A.3 实验二语法/语义分析程序 281

A.3.1 任务 281

A.3.2 要求 282

A.3.3 数据结构 282

A.3.4 程序参考结构及模块说明 283

A.4 实验三 目标代码生成程序 284

A.4.1 任务 284

A.4.2 要求 285

A.4.3 数据结构 285

A.4.4 程序参考结构及模块说明 285

参考文献 287

相关图书
作者其它书籍
返回顶部