第1章 概论 1
1.1基本知识总结 1
1.2典型例题解析 1
1.3练习与参考答案 1
第2章 词法分析 7
2.1基本知识总结 7
2.2典型例题解析 7
2.3练习与参考答案 16
第3章 程序语言的语法描述 46
3.1基本知识总结 46
3.2典型例题解析 46
3.3练习与参考答案 53
第4章 自顶向下的语法分析 65
4.1基本知识总结 65
4.2典型例题解析 65
4.3练习与参考答案 72
第5章 自底向上的语法分析 80
5.1基本知识总结 80
5.2典型例题解析 80
5.3练习与参考答案 96
第6章 符号表的组织和管理 117
6.1基本知识总结 117
6.2典型例题解析 117
6.3练习与参考答案 117
第7章 运行时的环境 121
7.1基本知识总结 121
7.2典型例题解析 121
7.3练习与参考答案 128
第8章 属性文法和语义分析 143
8.1基本知识总结 143
8.2典型例题解析 143
8.3练习与参考答案 151
第9章 语法制导的中间代码翻译 170
9.1基本知识总结 170
9.2典型例题解析 170
9.3练习与参考答案 177
第10章 目标代码生成 191
10.1基本知识总结 191
10.2典型例题解析 191
10.3练习与参考答案 194
第11章 代码优化 201
11.1基本知识总结 201
11.2典型例题解析 201
11.3练习与参考答案 206
第12章 实验指导 214
12.1实验概述 214
12.2实验一:根据状态转换图编写词法分析器 215
12.2.1实验目的 215
12.2.2实验内容 215
12.3实验二:LEX的使用 216
12.3.1实验目的 216
12.3.2实验内容 216
12.3.3实验指导 217
12.4实验三:YACC的使用 217
12.4.1实验目的 217
12.4.2实验内容 217
12.4.3实验指导 217
12.5实验四:QTiny语言的实现 217
12.5.1实验目的 217
12.5.2 QTiny语言的文法表示 218
12.5.3实验内容 218
12.5.4实验指导 219
12.6实验五:综合实验 219
12.6.1实验目的 219
12.6.2实验内容 219
12.6.3实验指导 231
附录A词法分析生成器LEX的使用 232
A.1LEX概述 232
A.2 LEX源程序 232
A.3 LEX的正规表达式 234
A.4 LEX的动作序列 236
A.5两个LEX的例子 236
附录B语法分析生成器YACC的使用 240
B.1 YACC概述 240
B.2 YACC源程序 241
B.3 YACC源程序说明部分 241
B.3.1头文件表 241
B.3.2宏定义 242
B.3.3数据类型定义 242
B.3.4全局变量定义 242
B.3.5语法开始符定义 242
B.3.6语义值类型定义 242
B.3.7终结符定义 243
B.3.8运算符优先级及结合性定义 244
B.4 YACC源程序语法规则部分 245
B.4.1语法规则的书写格式 246
B.4.2语义动作 246
B.5 YACC源程序程序段部分 247
B.5.1主程序 247
B.5.2错误信息报告程序 247
B.5.3词法分析程序 248
B.5.4 YACC源程序举例 249
参考文献 255