第1章 概述
1.1 为什么学习编译
1.2 什么叫编译程序
1.3 编译过程概述
1.4 编译程序的构成
1.5 其他与编译有关的概念和技术
1.6 如何开发编译程序
1.7 编译系统以及其他相关程序
练习1
第2章 词法分析
2.1 词法分析器的设计
2.2 词法分析器的一种手工实现
2.3 正规表达式
2.4 有限自动机
2.5 词法分析的自动生成器Lex
练习2
第3章 程序语言的语法描述
3.1 文法和语言
3.2 文法的分类
3.3 文法的等价变换
3.4 语法分析概述
练习3
第4章 自顶向下的语法分析
4.1 自顶向下语法分析的一般方法
4.2 LL(1)文法
4.3 递归下降分析技术
4.4 预测分析技术
4.5 LL(1)分析中的错误处理
练习4
第5章 自底向上的语法分析
5.1 自底向上语法分析概述
5.2 算符优先分析方法
5.3 LR分析方法
5.4 LALR分析器的生成工具YACC
练习5
第6章 符号表的组织和管理
6.1 符号表的作用
6.2 符号表的主要属性及其作用
6.3 符号表的组织结构
6.4 名字的作用范围
练习6
第7章 运行时环境
7.1 程序运行的基本概念
7.2 参数传递机制
7.3 运行时存储空间的组织和管理
7.4 静态运行时环境
7.5 栈式运行时环境
7.6 堆式运行时环境
7.7 面向对象语言的运行时环境
练习7
第8章 属性文法和语义分析
8.1 语义分析概况
8.2 属性与属性文法
8.3 属性的计算
8.4 数据类型与类型检查
练习8
第9章 语法制导的中间代码翻译
9.1 中间语言
9.2 声明语句的翻译
9.3 赋值语句的翻译
9.4 基本控制结构的翻译
9.5 转向语句的翻译
练习9
第10章 目标代码生成
10.1 代码生成器设计的基本问题
10.2 虚拟计算机模型
10.3 语法制导的目标代码生成
10.4 基本块和待用信息
10.5 一个简单代码生成器
练习10
第11章 代码优化
11.1 代码优化的概念
11.2 代码优化的基本技术
11.3 局部优化
11.4 机器代码优化-窥孔技术
11.5 代码优化的高级技术简介
练习11
参考文献