图书介绍
编译原理PDF|Epub|txt|kindle电子书版本网盘下载
![编译原理](https://www.shukui.net/cover/29/34779067.jpg)
- 陈火旺总主编;蒋伟进主编;雷向东,吴取劲副主编 著
- 出版社: 长沙:中南大学出版社
- ISBN:7811051591
- 出版时间:2005
- 标注页数:237页
- 文件大小:10MB
- 文件页数:252页
- 主题词:编译程序-程序设计
PDF下载
下载说明
编译原理PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 编译原理概述1
1.1 翻译程序与编译程序1
目录1
1.2 编译过程和编译程序的基本结构2
1.3 编译程序的生成方法5
1.4 编译技术在软件开发的应用6
1.5 编译器的构造工具7
小结7
习题一8
参考答案9
2.1.1 字母表和符号串10
第2章 文法和语言基础10
2.1 字母表和符号串的基本概念10
2.1.2 符号串的运算11
2.2 文法和语言的形式定义12
2.2.1 形式语言12
2.2.2 文法的形式定义13
2.2.3 语言的形式定义16
2.2.4 规范推导和规范归约18
2.2.5 递归规则与文法的递归性19
2.3 短语、直接短语和句柄20
2.3.1 短语和直接短语20
2.3.2 句柄21
2.4 语法树与文法的二义性22
2.4.1 推导与语法树22
2.4.2 文法的二义性24
2.4.3 文法二义性的消除25
2.5 文法和语言的分类26
2.6 有关文法实用中的一些说明28
2.6.1 有关文法的使用限制28
2.6.2 上下文无关文法中的ε规则29
2.7 文法在内存中的表示29
小结30
习题二31
参考答案33
第3章 词法分析与有穷自动机35
3.1 词法分析程序的设计35
3.1.1 词法分析程序与语法分析程序的接口方式35
3.1.2 词法分析程序的输出35
3.1.3 将词法分析工作分离的考虑36
3.2 语言单词符号的两种定义方式37
3.2.1 正规式与正规集37
3.2.2 正规文法与正规式38
3.3 正规式与有穷自动机41
3.3.1 确定有穷自动机(DFA)41
3.3.2 非确定有穷自动机(NFA)42
3.3.3 由正规表示式R构造NFA43
3.3.4 NFA确定化为DFA的方法44
3.3.5 DFA的化简47
3.3.6 有穷自动机到正规式的转换49
3.4 正规文法与有穷自动机50
3.4.1 右线性正规文法到有穷自动机的转换方法50
3.4.2 左线性正规文法到有穷自动机的转换方法51
3.4.3 有穷自动机到正规文法的转换方法52
3.5 词法分析程序设计53
小结56
习题三56
参考答案58
4.1.1 非确定的自上而下分析法62
第4章 语法分析62
4.1 自上而下语法分析法62
4.1.2 文法的左递归性和回溯的消除63
4.1.3 某些非LL(1)文法改写成LL(1)文法67
4.1.4 递归下降分析法68
4.1.5 预测分析法与预测分析表70
4.2 自下而上的分析法73
4.3 算符优先分析法74
4.3.1 算符优先文法74
4.3.2 算符优先关系表的构造76
4.3.3 算符优先分析算法77
4.3.4 优先函数79
4.4 LR分析法82
4.4.1 LR分析器的工作原理和过程82
4.4.2 LR(0)分析法85
4.4.3 SLR(1)分析法89
4.4.4 LR(1)分析法95
4.4.5 LALR(1)分析法98
小结101
习题四103
参考答案106
第5章 语法制导翻译和中间代码生成118
5.1 属性文法118
5.2 语法制导翻译概述120
5.3 中间语言122
5.3.1 逆波兰式122
5.3.2 三元式和树形表示123
5.3.3 四元式和三地址码124
5.4 自底向上语法制导翻译125
5.4.1 简单算术表达式和赋值语句的翻译125
5.4.2 布尔表达式的翻译127
5.4.3 控制语句的翻译131
5.4.4 循环语句的翻译133
5.4.5 简单说明语句的翻译135
5.4.6 含数组元素的赋值语句的翻译136
5.5 递归下降语法制导的翻译139
习题五141
小结141
参考答案142
第6章 符号表的组织和管理144
6.1 符号表的内容与作用145
6.1.1 符号表的内容145
6.1.2 符号表的作用145
6.2 符号表的组织146
6.2.1 符号表的总体组织146
6.2.2 表项属性信息组织147
6.2.4 Pascal的符号表组织148
6.2.3 符号表域的组织148
6.3 符号表的建立与查找152
6.3.1 符号表的建立152
6.3.2 符号表的查找152
小结154
习题六154
参考答案155
第7章 代码优化157
7.1.4 消除无用代码158
7.1.2 删除公共子表达式158
7.1.3 减少复写传播158
7.1 优化概述158
7.1.1 合并常量运算158
7.1.5 削减运算强度159
7.1.6 外提循环中的不变表达式159
7.1.7 删除归纳变量160
7.2 局部优化160
7.2.1 划分基本块的方法160
7.2.2 基本块的DAG表示162
7.2.3 利用DAG进行基本块的优化处理163
7.3 循环优化166
7.3.1 程序流程图166
7.3.3 循环优化167
7.3.2 循环查找167
7.4 窥孔优化170
小结171
习题七171
参考答案174
第8章 运行时存储空间组织179
8.1 程序运行的存储分配知识179
8.1.1 运行时存储空间划分179
8.1.2 过程的活动180
8.1.3 活动记录181
8.1.4 存储分配策略182
8.2 静态存储分配182
8.3 栈式存储分配183
8.3.2 允许过程嵌套定义语言的栈式存储分配184
8.3.1 没有局部过程的栈式存储分配184
8.4 堆式动态存储分配187
8.5 参数传递机制188
8.5.1 值传递188
8.5.2 地址传递189
8.5.3 值结果传递189
8.5.4 名字传递190
习题八191
参考答案193
9.1 概述196
第9章 目标代码生成196
9.2 假想的计算机模型198
9.3 简单的代码生成器200
9.3.1 待用信息和活跃信息201
9.3.2 代码生成算法202
9.3.3 寄存器分配205
9.4 DAG的目标代码208
小结211
习题九211
参考答案212
A.1 简介215
A.2 LEX词法分析自动生成程序215
附录A LEX(Lexical Compiler)和YACC(Yet Another Compiler-Compiler)工具215
A.2.1 语言LEX的一般描述216
A.2.2 LEX的常规表达式216
A.2.3 LEX编程218
A.2.4 高级LEX219
A.3 YACC语法分析自动生成程序220
A.3.1 YACC规格说明220
A.3.2 YACC编程220
附录B 编译程序实验223
B.1 选择实验题目的途径223
实验二224
实验一224
B.2 实验题224
实验三225
实验四225
实验五226
实验六226
B.3 实验报告范例227
一、分析228
二、算法229
三、实现229
四、总结230
附录231
参考文献237