第1章 高级语言与编译程序概述 1
1.1 重点内容讲解 1
1.1.1 高级程序语言概述 1
1.1.2 编译程序概论 4
1.1.3 过程与函数执行的分析方法 6
1.2 典型例题解析 8
1.2.1 概念题 8
1.2.2 基本题 12
1.2.3 综合题 15
1.3 习题及答案 16
1.3.1 习题 16
1.3.2 习题答案 18
第2章 词法分析 21
2.1 重点内容讲解 21
2.1.1 状态转换图 21
2.1.2 正规表达式与有限自动机 22
2.1.3 正规式到有限自动机的变换 24
2.2 典型例题解析 26
2.2.1 概念题 26
2.2.2 基本题 29
2.2.3 综合题 40
2.3 习题及答案 47
2.3.1 习题 47
2.3.2 习题答案 50
第3章 语法分析 55
3.1 重点内容讲解 55
3.1.1 上下文无关文法 55
3.1.2 自下而上分析 57
3.1.3 算符优先分析法 58
3.1.4 自上而下分析 61
3.2 典型例题解析 64
3.2.1 概念题 64
3.2.2 基本题 70
3.2.3 综合题 94
3.3 习题及答案 101
3.3.1 习题 101
3.3.2 习题答案 105
第4章 语法分析器的自动构造 113
4.1 重点内容讲解 113
4.1.1 LR分析器基本知识 113
4.1.2 LR(0)分析表的构造 115
4.1.3 SLR(1)分析表的构造 117
4.1.4 规范LR分析表的构造 118
4.1.5 LALR分析表的构造 119
4.1.6 二义文法的应用 121
4.2 典型例题解析 121
4.2.1 概念题 121
4.2.2 基本题 132
4.2.3 综合题 152
4.3 习题及答案 165
4.3.1 习题 165
4.3.2 习题答案 168
第5章 中间代码生成 175
5.1 重点内容讲解 175
5.1.1 中间语言简介 175
5.1.2 属性文法 177
5.1.3 布尔表达式与典型语句翻译 178
5.2 典型例题解析 180
5.2.1 概念题 180
5.2.2 基本题 184
5.2.3 综合题 201
5.3 习题及答案 209
5.3.1 习题 209
5.3.2 习题答案 212
第6章 程序运行时存储空间组织 219
6.1 重点内容讲解 219
6.1.1 静态存储分配 219
6.1.2 简单的栈式存储分配 220
6.1.3 嵌套过程语言的栈式实现 223
6.1.4 分程序结构的存储管理 228
6.2 典型例题解析 230
6.2.1 概念题 230
6.2.2 基本题 234
6.2.3 综合题 241
6.3 习题及答案 246
6.3.1 习题 246
6.3.2 习题答案 251
第7章 代码优化与目标代码生成 257
7.1 重点内容与讲解 257
7.1.1 局部优化 257
7.1.2 循环的查找 260
7.1.3 到达/定值与引用/定值链 262
7.1.4 循环优化 265
7.1.5 目标代码生成 268
7.2 典型例题解析 269
7.2.1 概念题 269
7.2.2 基本题 272
7.2.3 综合题 290
7.3 习题及答案 295
7.3.1 习题 295
7.3.2 习题答案 302
第8章 符号表与错误处理 311
8.1 重点内容讲解 311
8.1.1 符号表 311
8.1.2 错误处理 314
8.2 典型例题解析 319
8.2.1 概念题 319
8.2.2 基本题 321
8.2.3 综合题 324
8.3 习题及答案 329
8.3.1 习题 329
8.3.2 习题答案 331