《编译器设计基础》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:Alexander Meduna著;杨萍,王生原译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302193340
  • 页数:277 页
图书介绍:编译器是计算机系统最核心最基础的支撑软件之一。本书是一本编译器设计方面的入门教材,它所坚持的理念是在理论和实践方法之间维持一种平衡。

第1章 导引 1

1.1 数学基础 1

1.1.1 集合与序列 1

1.1.2 语言 2

1.1.3 关系与翻译 3

1.1.4 图 4

1.1.5 证明 6

1.2 编译 8

1.2.1 编译阶段 8

1.2.2 编译器构造 12

1.3 重写系统 13

1.3.1 语言模型 14

本书要点 15

习题 15

部分习题解答 17

第2章 词法分析 19

2.1 模型 19

2.1.1 正规表达式 19

2.1.2 有穷自动机 20

2.1.3 有穷自动机的表示 22

2.1.4 简化 23

2.1.5 有穷变换机 28

2.2 方法 29

2.2.1 单词与单词记号 29

2.2.2 词法分析器 33

2.2.3 额外的任务 39

2.3 理论 39

2.3.1 正规表达式到有穷自动机的变换 39

2.3.2 有穷自动机的化简 44

2.3.3 非正规词法构造 51

2.3.4 判定问题 60

习题 62

部分习题解答 67

第3章 语法分析 69

3.1 模型 69

3.1.1 文法 69

3.1.2 下推自动机 80

3.2 方法 83

3.2.1 自上而下分析 83

3.2.2 递归下降分析程序 86

3.2.3 消除左递归 89

3.2.4 自下而上分析 91

3.3 理论 96

3.3.1 分析模型的能力 97

3.3.2 验证文法形式的语法描述 97

3.3.3 文法的简化 99

3.3.4 文法的范式和基于它们的分析 108

3.3.5 文法不能描述的语法 114

3.3.6 判定问题 120

习题 122

部分习题解答 127

第4章 确定的自上而下分析 130

4.1 预测集合和LL文法 130

4.2 预测分析 136

4.2.1 递归下降预测分析 136

4.2.2 表驱动的预测分析 139

4.2.3 处理错误 144

习题 145

部分习题解答 149

第5章 确定的自下而上分析 151

5.1 优先分析 151

5.1.1 算符优先分析算法 151

5.1.2 算符优先表的构造 154

5.1.3 处理错误 155

5.1.4 扩展 158

5.1.5 限制 160

5.2 LR语法分析 160

5.2.1 LR分析算法 160

5.2.2 构造LR表 163

5.2.3 LR分析中的错误处理 170

习题 172

部分习题解答 175

第6章 语法制导翻译和中间代码生成 178

6.1 自下而上语法制导翻译和中间代码生成 179

6.1.1 语法树 180

6.1.2 三地址码 185

6.1.3 波兰式 188

6.2 自上而下的语法制导翻译 189

6.3 语义分析 191

6.4 符号表 192

6.4.1 组织 192

6.4.2 存储标识符名字 193

6.4.3 块结构的符号表 194

6.5 语法制导翻译的软件工具 195

6.5.1 Lex 196

6.5.2 Yacc 197

习题 201

部分习题解答 203

第7章 优化和目标代码生成 205

7.1 跟踪变量的使用 205

7.1.1 基本块 206

7.1.2 基本块内变量的使用 208

7.1.3 基本块之间变量的使用 211

7.2 中间代码优化 214

7.3 目标代码的优化和生成 218

习题 222

部分习题解答 225

结束语 226

文献纪要 226

研究生层次的话题 227

当前趋势 230

附录A 实现 233

A.1 概念 233

类接口 234

A.2 代码 236

参考文献 256