- 机械工业出版社
- 9787111269298
- 1-13
- 41885
- 46257661-2
- 平装
- 16开
- 2009-06
- 730
- 424
- 工学
- 计算机科学与技术
- TP314
- 计算机科学与技术
- 本科
内容简介
本书全面、深入地探讨了编译器设计方面的重要主题,包括词法分析、语法分析、语法制导定义和语法制导翻译、运行时刻环境、目标代码生成、代码优化技术、并行性检测以及过程间分析技术,并在相关章节中给出大量实例。
目录
出版者的话
改编者序
前言
第1章 引论
1.1 语言处理器
1.2 一个编译器的结构
1.3 程序设计语言的发展历程
1.4 构建一个编译器的相关科学
1.5 编译技术的应用
1.6 程序设计语言基础
1.7 第1章总结
1.8 第1章参考文献
第2章 一个简单的语法制导翻译器
2.1 引言
2.2 语法定义
2.3 语法制导翻译
2.4 语法分析
2.5 简单表达式的翻译器
2.6 词法分析
2.7 符号表
2.8 生成中间代码
2.9 第2章总结
第3章 词法分析
3.1 词法分析器的作用
3.2 词法单元的规约
3.3 词法单元的识别
3.4 词法分析器生成工具Lex
3.5 有穷自动机
3.6 从正则表达式到自动机
3.7 词法分析器生成工具的设计
3.8 第3章总结
3.9 第3章参考文献
第4章 语法分析
4.1 引论
4.2 上下文无关文法
4.3 设计文法
4.4 自顶向下的语法分析
4.5 自底向上的语法分析
4.6 LR语法分析技术介绍;简单LR技术
4.7 更强大的LR语法分析器
4.8 使用二义性文法
4.9 语法分析器生成工具
4.10 第4章总结
4.11 第4章参考文献
第5章 语法制导的翻译
5.1 语法制导定义
5.2 SDD的求值顺序
5.3 语法制导翻译的应用
5.4 语法制导的翻译方案
5.5 实现L属性的SDD
5.6 第5章总结
5.7 第5章参考文献
第6章 中间代码生成
6.1 语法树的变体
6.2 三地址代码
6.3 类型和声明
6.4 表达式的翻译
6.5 类型检查
6.5 控制流
6.7 回填
6.8 switch语句
6.9 过程的中间代码
6.10 第6章总结
6.11 第6章参考文献
第7章 运行时刻环境
7.1 存储组织
7.2 空间的栈式分配
7.3 栈中非局部数据的访问
7.4 堆管理
7.5 垃圾回收概述
7.6 基于跟踪的回收的介绍
7.7 第7章总结
7.8 第7只章参考文献
第8章 代码生成
8.1 代码生成器设计中的问题
8.2 目标语言
8.3 目标代码中的地址
8.4 基本块和流图
8.5 基本块的优化
8.6 一个简单的代码生成器
8.7 窥孔优化
8.8 寄存器分配和指派
8.9 通过树重写来选择指令
8.10 表达式的优化代码的生成
8.11 使用动态规划的代码生成
8.12 第8章总结
8.13 第8章参考文献
第9章 机器无关优化
9.1 冗余的原因
9.2 数据流分析简介
9.3 数据流分析基础
9.4 常量传播
9.5 流图中的循环
9.6 第9章总结
9.7 第9章参考文献
附录 一个完整的编译器前端
改编者序
前言
第1章 引论
1.1 语言处理器
1.2 一个编译器的结构
1.3 程序设计语言的发展历程
1.4 构建一个编译器的相关科学
1.5 编译技术的应用
1.6 程序设计语言基础
1.7 第1章总结
1.8 第1章参考文献
第2章 一个简单的语法制导翻译器
2.1 引言
2.2 语法定义
2.3 语法制导翻译
2.4 语法分析
2.5 简单表达式的翻译器
2.6 词法分析
2.7 符号表
2.8 生成中间代码
2.9 第2章总结
第3章 词法分析
3.1 词法分析器的作用
3.2 词法单元的规约
3.3 词法单元的识别
3.4 词法分析器生成工具Lex
3.5 有穷自动机
3.6 从正则表达式到自动机
3.7 词法分析器生成工具的设计
3.8 第3章总结
3.9 第3章参考文献
第4章 语法分析
4.1 引论
4.2 上下文无关文法
4.3 设计文法
4.4 自顶向下的语法分析
4.5 自底向上的语法分析
4.6 LR语法分析技术介绍;简单LR技术
4.7 更强大的LR语法分析器
4.8 使用二义性文法
4.9 语法分析器生成工具
4.10 第4章总结
4.11 第4章参考文献
第5章 语法制导的翻译
5.1 语法制导定义
5.2 SDD的求值顺序
5.3 语法制导翻译的应用
5.4 语法制导的翻译方案
5.5 实现L属性的SDD
5.6 第5章总结
5.7 第5章参考文献
第6章 中间代码生成
6.1 语法树的变体
6.2 三地址代码
6.3 类型和声明
6.4 表达式的翻译
6.5 类型检查
6.5 控制流
6.7 回填
6.8 switch语句
6.9 过程的中间代码
6.10 第6章总结
6.11 第6章参考文献
第7章 运行时刻环境
7.1 存储组织
7.2 空间的栈式分配
7.3 栈中非局部数据的访问
7.4 堆管理
7.5 垃圾回收概述
7.6 基于跟踪的回收的介绍
7.7 第7章总结
7.8 第7只章参考文献
第8章 代码生成
8.1 代码生成器设计中的问题
8.2 目标语言
8.3 目标代码中的地址
8.4 基本块和流图
8.5 基本块的优化
8.6 一个简单的代码生成器
8.7 窥孔优化
8.8 寄存器分配和指派
8.9 通过树重写来选择指令
8.10 表达式的优化代码的生成
8.11 使用动态规划的代码生成
8.12 第8章总结
8.13 第8章参考文献
第9章 机器无关优化
9.1 冗余的原因
9.2 数据流分析简介
9.3 数据流分析基础
9.4 常量传播
9.5 流图中的循环
9.6 第9章总结
9.7 第9章参考文献
附录 一个完整的编译器前端