目录 1
第一章 编译程序概述 1
1.1 什么叫编译程序 1
1.2 编译程序的组成部分 2
1.3 编译程序的分遍 4
1.4 编译程序的开发 6
第二章 自动机与词法分析 9
2.1 基本概念 9
2.2 正则表达式 11
2.3 确定自动机 12
2.4 非确定自动机 14
2.5 自动机与正则表达式的关系 18
2.6 词法分析器的功能和输入、输出形式 21
2.7 词法分析器的设计 23
2.8 单词的识别 25
2.9 状态转换图 27
2.10 状态转换图的实现 30
习题 36
第三章 形式语言与语法分析 38
3.1 上下文无关文法 38
3.2 自顶向下语法分析 56
3.3 自底向上语法分析 67
习题 89
第四章 标识符和符号表处理 93
4.1 类型的语义表示 93
4.2 标识符的语义表示 98
4.3 符号表的组织 104
4.4 抽象地址的处理 107
4.5 标识符的处理算法 110
4.6 标号处理 124
习题 127
第五章 中间代码与语法制导方法 129
5.1 中间代码、语法制导方法 129
5.2 表达式的逆波兰式及其语法制导生成 132
5.3 表达式的三元式和树及其语法制导生成 135
5.4 表达式四元式及其语法制导生成 140
5.5 类型检查与类型转换 142
5.6 语句的中间代码及其语法制导生成 148
5.7 复合变量的中间代码及其语法制导生成 153
5.8 过程语句的中间代码及其语法制导生成 160
5.9 说明的中间代码及其语法制导生成 164
习题 167
6.1 代码优化种类 169
第六章 中间代码优化 169
6.2 基本块 170
6.3 常表达式节省 172
6.4 公共表达式节省 174
6.5 不变表达式外提 181
6.6 削减运算强度 187
习题 189
7.1 临时变量的存储分配 191
第七章 运行时存储空间与过程调用 191
7.2 静态链、动态链 195
7.3 过程的活动记录 198
7.4 活动记录的填写 200
习题 203
第八章 目标代码生成 205
8.1 目标机 205
8.2 寄存器分配 211
8.3 表达式四元式的翻译 216
8.4 复合变量四元式的翻译 218
8.5 赋值四元式的翻译 221
8.6 条件语句四元式的翻译 224
8.7 循环语句四元式的翻译 226
8.8 转向语句和标号四元式的翻译 227
8.9 过程、函数说明四元式的翻译 228
8.10 过程、函数调用四元式的翻译 230
习题 233