第一篇 高级程序语言到中间语言
第一章 编译概论及程序语言规定 2
1.1 编译程序概论 2
1.2 关于高级程序语言的规定 3
第二章 语法分析器构造 5
2.1 LR分析器基本知识 5
2.2 LR 0 分析表的构造 6
2.2.1 LR 0 项目集规范族的构造 7
2.2.2 LR 0 分析表的构造 8
2.3 SLR分析表的构造 8
2.4 二义文法的应用 10
2.5 LR分析器实例 10
2.6 高级程序语言的LR分析表设计 12
2.6.1 算术表达式的LR分析表 12
2.6.2 布尔表达式的LR分析表 14
2.6.3 程序语句的LR分析表 18
2.7 LR分析器应用拓展 20
第三章 语法制导翻译和中间代码生成 22
3.1 中间语言简介 22
3.2 布尔表达式与典型语句翻译 22
3.2.1 布尔表达式 22
3.2.2 典型语句翻译 23
3.3 语法制导翻译 24
3.3.1 算术表达式翻译 25
3.3.2 布尔表达式翻译 25
3.3.3 程序语句翻译 26
3.4 语法制导翻译实现方法 27
3.5 语法制导翻译实例 27
3.5.1 布尔表达式翻译实例 27
3.5.2 程序翻译实例 29
3.6 LR分析表控制下的翻译 30
第四章 编译程序的设计与实现 33
4.1 词法分析器设计 33
4.1.1 单词的内部定义 33
4.1.2 函数说明 34
4.2 语法分析器设计 35
4.2.1 LR分析表的实现 35
4.2.2 数据结构说明 37
4.2.3 算术表达式处理的语义加工程序 39
4.2.4 布尔表达式处理的语义加工程序 41
4.2.5 程序语句的语义加工程序 44
4.3 编译程序运行实例 49
第五章 编译原理实践 55
5.1 实践一:编译程序的分析与验证 55
5.2 实践二:算术表达式的扩充 56
5.3 实践三:添加新的程序语句(一) 56
5.4 实践四:添加新的程序语句(二) 57
第六章 编译程序实例 58
第二篇 汇编语言到机器指令
第七章 汇编指令系统的分析 84
7.1 引言 84
7.2 8086/8088指令系统 85
第八章 8086/8088小汇编的设计与实现 93
8.1 8086/8088小汇编指令的分类 93
8.2 8086/8088小汇编的状态表及主控程序设计与实现 95
第九章 8086/8088小汇编实验 102
9.1 实践一:8086/8088小汇编操作过程
102
9.2 实践二:8086/8088的XCHG指令的编译 103
9.3 实践三:移位类指令加工处理子程序设计 103
9.4 实践四:算术类指令加工处理子程序设计
104
9.5 实践五:状态表的设计 104
9.6 实践六:编译程序的设计 104
第十章 8086/8088小汇编程序
106
附录1 8086/8088指令码汇总表 158
附录2 8086/8088指令码空间表 163
参考文献 165