出版时间:2011-8 出版社:清华大学出版社 作者:毛红梅,严云洋 主编 页数:210
内容概要
本书是根据高等院校计算机专业的培养目标和基本要求,结合作者多年的教学和应用实践经验编写而成的一本编译原理与技术的教材。《编译原理》系统全面地介绍了编译原理的相关知识点,共分为11章。主要内容包括编译简介、文法和语言、上下文无关语言、词法分析、语法分析——自顶向下分析、自底向上分析——优先分析法、自底向上分析——分析法、语法制导翻译和中间代码生成、符号表与错误处理、代码优化、目标代码生成等内容。
本书在每一章的知识点讲解中,尽量将难于理解的理论用浅显易懂的语言阐述,并配合大量实例,使读者加深对理论知识的理解。章节后均有“学习加油站”板块,将每章中的重要知识点用多个实例进行讲解,帮助读者将知识点应用到实际问题中,加深对理论知识的理解,并提高实践动手能力。
本书对编译原理的理论阐述详尽、易学易用,注重理论与实践结合。《编译原理》适合作为普通高等学校计算机科学与技术等相关计算机专业的教材,也适合软件开发人员及爱好者培训和自学使用。
本书配有电子教案,方便教学。
书籍目录
第1章 编译简介
1.1 编译器1
1.1.1 编译的分析-综合模型2
1.1.2 编译器的前驱和后继3
1.2 编译器的分析过程3
1.2.1 词法分析阶段4
1.2.2 语法分析阶段5
1.2.3 语义分析阶段6
1.2.4 中间代码生成阶段6
1.2.5 代码优化阶段6
1.2.6 目标代码生成阶段7
1.2.7 符号表管理器7
1.2.8 错误处理器7
1.3 编译器的输入和输出处理工具8
1.3.1 预处理器8
1.3.2 汇编器8
1.3.3 两遍汇编9
1.3.4 装配器和链接编辑器9
1.4 编译器各阶段的组合9
1.4.1 前端和后端10
1.4.2 编译器的遍10
1.5 编译器的构造工具10
1.6 学习加油站11
本章小结u
习题112
第2章 文法和语言
2.1 文法的启示13
2.2 字母表和符号串16
2.3 文法和语言的形式定义19
2.4 文法的构造23
2.5 文法的乔姆斯基体系25
2.6 空语句27
2.7 学习加油站28
本章小结30
习题230
第3章 上下文无关语言
3.1 概述33
3.2 上下文无关语言34
3.2.1 上下文无关文法的语法树34
3.2.2 二义性38
3.2.3 自顶向下的分析40
3.2.4 自底向上的分析41
3.3 上下文无关文法的化简42
3.3.1 去无用符号43
3.3.2 去c-产生式45
3.3.3 去单一产生式组47
3.4 学习力d油站48
本章小结50
习题350
第4章 词法分析
4.1 概述53
4.2 单词的描述工具53
4.2.1 正规文法53
4.2.2 正规表达式54
4.2.3 有穷自动机56
4.3 正规文法与FA等价59
4.3.1 FA与右线性文法59
4.3.2 FA与左线性文法60
4.4 正则表达式与FA等价61
4.4.1 有穷自动机转换为正则表达式62
4.4.2 正则表达式转化为有穷自动机63
4.5 NFA与DFA等价64
4.6 DFA的最小化66
4.7 学习力d油站68
本章小结70
第5章 语法分析——自顶向下分析
5.1 确定的自顶向下分析思想73
5.2 LL(1)文法的判别方法78
5.3 非LL(1)文法与LL(1)文法的等价变换83
5.4 确定的自顶向下分析方法86
5.4.1 递归子程序法86
5.4.2 预测分析方法87
5.5 不确定的自顶向下分析思想88
5.6 学习加油站89
本章小结91
习题591
第6章 自底向上分析——优先分析法
6.1 自底向下分析法概述93
6.2 优先分析法概述95
6.3 简单优先分析法96
6.3.1 优先关系的判断96
6.3.2 简单优先文法98
6.3.3 简单优先分析法98
6.4 算符优先分析法99
6.4.1 算符优先分析法的起因99
6.4.2 直观算符优先分析法99
6.4.3 算符优先文法101
6.4.4 算符优先关系表的构造102
6.4.5 算符优先分析算法104
6.4.6 优先函数105
6.4.7 算符优先分析法的局限性106
6.5 学习加油站107
本章小结108
习题6109
第7章 自底向上分析——LR分析法
7.1 LR分析器的工作原理111
7.2 LR(0)分析法113
7.2.1 文法规范句型的活前缀113
7.2.2 识别活前缀的dfan4
7.2.3 活前缀及其可归前缀的一般计算方法116
7.2.4 LR(0)项目集规范族117
7.3 SLR(1)分析法123
7.4 LR(1)分析法126
7.4.1 构造LR(1)项目集规范族127
7.4.2 构造LR(1)分析表129
7.5 LALR(1)文法130
7.6 LR分析法对二义性文法的应用132
7.7 学习加油站134
本章小结136
习题7137
第8章 语法制导翻译和中间代码生成
8.1 概述139
8.2 属性文法139
8.3 语法制导翻译概述142
8.4 中间语言的表示形式144
8.4.1 逆波兰式144
8.4.2 三元式145
8.4.3 树形表示146
8.4.4 四元式和三地址代码146
8.5 自下向上的语法制导翻译147
8.5.1 简单算术表达式和赋值语句的翻译147
8.5.2 布尔表达式的翻译及在控制语句中的翻译149
8.5.3 简单说明语句的翻译153
8.5.4 含数组元素的赋值语句的翻译154
8.6 学习加油站157
本章小结158
习题8159
第9章 符号表与错误处理
9.1 符号表161
9.1.1 符号表的作用161
9.1.2 符号表的组织162
9.1.3 分程序结构语言符号表的建立163
9.1.4 非分程序结构语言符号表的建立165
9.1.5 常用符号表结构165
9.1.6 常用符号内容167
9.2 错误处理167
9.2.1 语法错误校正168
9.2.2 语义错误校正173
9.3 学习加油站175
习题9176
第10章 代码优化
10.1 优化简介179
10.2 局部优化183
10.2.1 基本块的划分方法183
10.2.2 基本块的dag表示184
10.2.3 利用dag对基本块进行优化187
10.3 循环优化189
10.3.1 程序流图189
10.3.2 循环190
10.3.3 循环的查找190
10.3.4 循环优化191
10.4 窥孔优化195
10.5 学习加油站197
本章小结199
习题10200
第11章 目标代码生成
11.1 代码生成概述201
11.2 一个计算机模型201
11.3 一个简单的代码生成器202
11.3.1 寄存器的分配原则202
11.3.2 待用信息链表法202
11.3.3 代码生成算法204
11.4 代码生成研究现状206
11.4.1 限定几种高级语言和几种计算机206
11.4.2 在计算机限定情况下的中间语言206
11.4.3 高级语言限定情况下的中间语言207
11.4.4 假想栈式抽象机207
11.5 代码生成的自动化研究207
11.6 学习加油站209
本章小结210
习题11210
参考文献
图书封面
评论、评分、阅读与下载