图书介绍
编译原理实用教程PDF|Epub|txt|kindle电子书版本下载
![编译原理实用教程](https://www.shukui.net/cover/10/30537989.jpg)
- 杨德芳主编 著
- 出版社: 北京:中国水利水电出版社
- ISBN:7508439058
- 出版时间:2007
- 标注页数:315页
- 文件大小:11MB
- 文件页数:332页
- 主题词:编译程序-程序设计-高等学校-教材
PDF下载
下载说明
编译原理实用教程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
前言1
第1章 编译程序概论1
本章学习目标1
1.1 程序设计语言1
序1
1.2 编译程序的编译过程和结构2
1.3 编译程序的设计技术5
1.4 形式语言理论和编译实现技术7
小结7
习题一8
2.1 字母表和符号串10
2.1.2 符号串10
2.1.1 字母表10
本章学习目标10
第2章 形式语言概述10
2.1.3 符号串集合12
2.2 文法的定义及其分类12
2.2.1 文法的直观概念12
2.2.2 文法的形式定义13
2.2.3 文法的分类14
2.2.4 文法举例15
2.2.5 各类文法与自动机的关系16
2.2.6 文法分类的意义17
2.3 文法产生的语言和句型的语法树18
2.3.1 推导和规范推导18
2.3.2 句型、句子和语言19
2.3.3 语法树20
2.3.4 二义性文法及其他21
2.3.5 文法产生的语言和产生语言的文法23
2.4 句型分析与句柄24
2.4.1 自顶向下的分析方法25
2.4.2 确定的自顶向下的分析方法26
2.4.3 自底向上的分析方法27
2.4.4 文法的存储30
2.5 例题分析与解答33
小结35
习题二36
第3章 词法分析37
本章学习目标37
3.1 词法分析程序与单词符号37
3.1.1 词法分析37
3.1.2 单词符号38
3.1.3 一个简单的词法分析程序的设计39
3.2 单词的描述工具42
3.2.1 正规文法42
3.2.2 正规式42
3.2.3 正规文法和正规式的相互转换43
3.3 有穷自动机45
3.3.1 确定的有穷自动机45
3.3.2 不确定的有穷自动机46
3.3.3 不确定的有穷自动机到确定的有穷自动机之间的转换47
3.4 正规式与有穷自动机的等价性54
3.4.1 正规式到NFA的转换54
3.4.2 NFA到正规式的转换56
3.4.3 NFA和正规式表示的相互转换示例57
3.5.1 从正规文法到自动机的转换61
3.5 正规文法和自动机的转换61
3.5.2 根据自动机写出正规文法62
3.6 词法分析程序的自动生成63
3.6.1 用LEX语言表达正规式63
3.6.2 LEX程序的结构64
3.7 词法分析程序的C语言实现66
3.7.1 单词的内部定义66
3.7.2 词法分析程序流程图67
3.7.3 数据结构的设计68
小结68
习题三68
4.1 确定的自顶向下分析方法71
4.1.1 确定的自顶向下分析思想71
本章学习目标71
第4章 自顶向下的语法分析技术71
4.1.2 LL(1)文法的定义73
4.2 LL(1)文法75
4.2.1 LL(1)文法的判别75
4.2.2 将非LL(1)文法转变成LL(1)文法78
4.3 确定的自顶向下分析技术84
4.3.1 递归子程序法84
4.3.2 预测分析法88
小结93
习题四94
第5章 自底向上优先分析技术97
本章学习目标97
5.1 自底向上分析方法97
5.1.1 自底向上分析的基本思想97
5.1.2 移进—归约方法98
5.2.1 优先关系100
5.2 简单优先分析技术100
5.2.2 简单优先分析法的定义及操作步骤102
5.2.3 简单优先分析法的局限性104
5.3 算符优先分析方法105
5.3.1 算符优先文法105
5.3.2 算符优先文法(OPG)优先关系表的构造107
5.3.3 算符优先分析法的算法112
5.3.4 实际应用中的算符优先函数及其构造117
5.3.5 采用算符优先分析法的语法分析程序的实现120
5.4 两种优先分析法的比较123
小结124
习题五124
6.1 LR分析器的工作原理127
第6章 LR分析技术127
本章学习目标127
6.2 LR(0)分析表的构造130
6.2.1 采用活前缀的方法构造有限自动机131
6.2.2 采用项目的方法构造有限自动机133
6.2.3 采用文法的项目集规范族构造有限自动机135
6.3 SLR(1)分析表的构造143
6.3.1 问题的提出144
6.3.2 解决LR(0)分析方法中冲突问题的方法145
6.4 LR(1)分析149
6.4.1 问题的提出149
6.4.2 LR(1)分析的基本思想151
6.5.1 同心集的合并154
6.5 LALR分析154
6.5.2 LALR分析表的构造步骤155
6.6 二义性文法的应用157
6.7 SLR(1)分析器的设计实现161
6.7.1 LR语法分析程序的C语言实现161
6.7.2 自动生成语法分析器162
小结166
习题六167
第7章 语法制导翻译和中间代码生成169
本章学习目标169
7.1 概述169
7.1.1 语义分析的概念169
7.1.2 语法制导翻译170
7.2.2 属性文法172
7.2.1 文法的属性172
7.2 属性文法172
7.3 几种常见的中间代码形式173
7.3.1 逆波兰式表示方法173
7.3.2 逆波兰式表示方法的推广174
7.3.3 四元式175
7.3.4 三元式和树形表示176
7.4 表达式及赋值语句的翻译177
7.4.1 简单表达式及赋值语句的翻译177
7.4.2 布尔表达式的翻译179
7.4.3 在控制语句中布尔表达式的翻译180
7.5 控制语句的翻译184
7.5.1 控制语句的翻译185
7.5.2 多分支控制语句case的翻译190
7.5.3 for循环语句192
7.6 数组元素的翻译194
7.6.1 数组元素的地址计算及中间代码的生成194
7.6.2 赋值语句中数组元素的翻译195
7.6.3 数组元素翻译示例196
7.7 高级语言中其他语句的翻译198
7.7.1 结构体说明和引用的翻译198
7.7.2 说明语句的翻译199
7.7.3 转向语句的翻译200
7.7.4 过程调用语句的翻译201
小结202
习题七203
8.1.1 优化概述204
8.1 优化的概念204
本章学习目标204
第8章 代码优化204
8.1.2 优化技术简介205
8.2 局部优化208
8.2.1 基本块的划分方法208
8.2.2 基本块的DAG表示209
8.2.3 用DAG图进行优化得到优化后的四元式212
8.3 循环优化213
8.3.1 程序流图213
8.3.2 循环的查找215
8.3.3 循环优化216
8.3.4 窥孔优化219
小结219
习题八219
9.2 静态存储分配222
9.1 存储分配策略222
第9章 运行时存储空间的组织与管理222
本章学习目标222
9.3 栈式存储分配223
9.3.1 简单的栈式存储分配223
9.3.2 嵌套过程语言的栈式实现226
9.3.3 分程序结构的存储管理229
9.4 堆式动态存储分配233
9.5 参数传递方式及其实现233
9.5.1 参数传递的方法233
9.5.2 参数传递的示例234
小结235
习题九235
10.1.1 符号表的建立和访问237
10.1 符号表的组织和内容237
本章学习目标237
第10章 符号表和错误处理237
10.1.2 符号表的组织238
10.1.3 符号表的内容245
10.2 符号表的操作和错误处理246
10.2.1 符号表的初始化246
10.2.2 符号表的登录247
10.2.3 符号的查找247
10.2.4 符号表中关于分层结构的管理247
10.3 错误处理250
10.3.1 语法错误的校正250
10.3.2 语义错误的校正252
10.4 一个符号表的设计实例252
习题十256
小结256
本章学习目标257
11.1 中间代码生成目标代码257
11.1.1 假想的计算机模型257
第11章 目标代码的生成257
11.1.2 从四元式生成代码258
11.1.3 从三元式生成代码259
11.1.4 从树形表示到生成代码262
11.1.5 从逆波兰表示生成代码264
11.1.6 寄存器的分配264
11.2 常用的代码生成程序的开发方法265
11.2.1 解释性的代码生成法265
11.3 代码生成程序的自动化构造266
11.3.1 基于语法制导翻译的代码生成程序自动构造技术266
11.2.3 表驱动代码生成法266
11.2.2 模式匹配代码生成法266
11.3.2 基于语义制导的代码生成程序自动构造技术269
11.3.3 模式匹配和动态规划269
11.4 目标代码生成器设计实例270
11.4.1 待用信息与活跃信息271
11.4.2 代码生成算法272
11.4.3 目标代码生成的具体实例274
小结279
习题十一279
附录A 编译原理实践部分280
参考文献315