目录 1
第一章 概论 1
§1.1 程序设计语言的引入 1
§1.2 编译程序概貌 3
第二章 形式语言基础 8
§2.1 文法的形式定义 8
§2.2 推导树 13
§2.3 关系及其运算 21
§2.4 文法的分类 30
第三章 有限状态自动机 36
§3.1 有限状态自动机概念 36
§3.2 有限状态自动机和3型文法 48
§3.3 有限状态自动机和正则表达式 52
§3.4 有限状态自动机的最小化 61
§3.5 有限状态自动机的实现 69
§3.6 有限状态自动机的应用 74
第四章 句法分析(一) 84
§4.1 下推自动机 84
§4.2 LL(K)文法 93
§4.3 LL(1)文法的句法分析 98
§4.4 产生式选择集合的计算 111
第五章 句法分析(二) 122
§5.1 引言 122
§5.2 优先关系和简单优先文法 125
§5.3 弱优先文法和简单混合策略优先文法 143
§5.4 运算符优先文法和优先函数 150
§5.5 LR(0)文法 165
§5 6 SLR(1)文法和LALR(1)文法 181
§5.7 LR句法分析控制表的安排 198
§6.1 中间代码 208
第六章 句法制导翻译法 208
§6.2 句法制导翻译文法 217
§6.3 表达式的翻译 229
§6.4 顺序控制结构的翻译 234
第七章 符号表 243
§7.1 符号表概况 243
§7.2 符号表的数据结构 247
§7.3 分程序结构语言的符号表 253
第八章 运行时刻存贮管理和环境的建立 261
§8.1 引言 261
§8.2 存贮管理 262
§8.3 分程序结构语言的非局部量的访问 266
§8.4 数组的存贮分配 278
§8.5 形式参数和实在参数的通讯 283
§8.6 过程的调用和返回 291
§9.1 引言 299
第九章 代码生成 299
§9.2 寄存器的分配 302
§9.3 临时变量的存贮分配 307
§9.4 简单算术表达式的代码生成 312
§9.5 代码生成的进一步讨论 318
第十章 代码优化 329
§10.1 引言 329
§10.2 表达式树的代码优化 333
§10.3 基本块的代码优化 339
§10.4 数据流分析 346
第十一章 出错恢复 355
§11.1 引言 355
§11.2 词法错误的出错恢复 358
§11.3 运算符优先分析法的出错恢复 359
§11.4 LR和LL句法分析法的出错恢复 362
参考文献 367