1 编译概论
1.1 程序设计语言和编译程序
1.2 编译的过程和编译程序结构
1.3 编译阶段的组合
1.4 编译技术在软件工具中的应用
2 文法和语言
2.1 文法的非形式化描述
2.2 符号、符号串及其运算
2.3 文法和语言的形式化定义
2.4 文法和语言的类型
思考题与习题
3 词法分析
3.1 词法分析概述
3.2 单词的描述工具
3.3 有限自动机DFA
3.4 正规文法、正规式和有限自动机之间的等价转换
3.5 词法分析程序的自动生成
思考题与习题
4 自顶向下的语法分析
4.1 自顶向下的语法分析思想
4.2 LL1文法
4.3 预测分析方法
思考题与习题
5 自底向上的语法分析
5.1 自底向上的分析方法简介
5.2 算符优先分析方法
5.3 LR分析方法
思考题与习题
6 属性文法与语法制导翻译技术
6.1 属性文法
6.2 语法制导翻译技术
思考题与习题
7 语义分析和中间代码生成
7.1 中间代码
7.2 赋值语句与算术表达式的翻译
7.3 布尔表达式的翻译
7.4 控制结构的翻译
7.5 说明语句的翻译
7.6 数组元素访问的翻译
思考题与习题
8 符号表
8.1 符号表概述
8.2 符号表的组织
8.3 符号表的管理
思考题与习题
9 目标程序运行时存储空间组织
9.1 概述
9.2 数据对象的存储分配
9.3 参数传递
9.4 静态存储分配
9.5 栈式存储分配
9.6 堆式存储分配
思考题与习题
10 代码优化
10.1 代码优化技术概述
10.2 局部优化
10.3 循环优化
10.4 全局优化概述
思考题与习题
11 目标代码生成
11.1 概述
11.2 计算机模型
11.3 代码生成器
思考题与习题
12 并行编译技术基础
12.1 并行计算机
12.2 并行编译器的结构
12.3 依赖关系
12.4 循环的向量化和并行化
12.5 循环的变换技术
思考题与习题
参考文献