图书介绍
编译原理PDF|Epub|txt|kindle电子书版本网盘下载
![编译原理](https://www.shukui.net/cover/31/30122092.jpg)
- 张雪峰,姚学武,尚文,张稼编著 著
- 出版社: 北京:研究出版社
- ISBN:9787801683519
- 出版时间:2008
- 标注页数:271页
- 文件大小:38MB
- 文件页数:281页
- 主题词:编译程序-程序设计-高等学校-教材
PDF下载
下载说明
编译原理PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 引论1
1.1什么是编译程序1
编译的分析-综合模型2
编译器的前驱与后继3
1.2编译器的各阶段4
词法分析4
语法分析4
语义分析5
中间代码生成6
代码优化6
符号表管理7
错误检测与报告7
1.3编译预处理8
预处理器8
汇编器8
装配器和连接编辑器8
1.4编译器各阶段的分组9
前端与后端9
编译的遍9
减少编译的遍数9
1.5编译器的构造工具10
1.6程序设计语言范型10
强制(命令)型语言11
函数型语言11
逻辑(规则)型语言11
面向对象语言11
面向数据结构型语言12
混合型语言12
基于多目标机的多源语言12
小结12
综合练习一12
一、选择题12
二、填空题13
三、应用题13
第2章 形式语言与自动机理论基础15
2.1文法与语言15
字母表、串和语言15
文法与语言的引入16
形式定义17
文法与语言的分类18
2.2正规文法与有穷自动机20
正规集与正规文法20
有穷自动机21
正规文法到有穷自动机的转换24
正规文法与正规式25
2.3正规式、NFA和DFA之间的等价转换26
从正规式构造NFA27
NFA的确定化29
DFA的最小化32
DFA到正规式的转换34
2.4上下文无关文法与下推自动机36
上下文无关文法36
上下文无关文法的变换37
语法树与文法的二义性39
下推自动机40
小结43
综合练习二43
一、选择题43
二、填空题44
三、应用题44
第3章 词法分析48
3.1词法分析概述48
词法分析阶段的必要性49
记号、模式和词素49
单词的机内表示50
词法错误51
输入缓冲51
3.2词法分析程序的设计方法53
单词符号的分类与识别53
状态转换图55
扫描器的任务57
扫描器的设计58
3.3词法分析器的自动构造原理63
Lex语言的基本语句与功能63
Lex输入文件的格式66
Lex编译器原理70
小结71
综合练习三72
一、选择题72
二、填空题72
三、应用题72
四、实验题73
第4章 语法分析74
4.1语法分析概述74
自顶向下的语法分析74
自底向上的语法分析75
推导76
推导过程的表示——分析树77
文法的二义性78
消除二义性80
消除左递归83
消除回溯84
语法分析的错误处理85
错误恢复策略86
4.2自顶向下的语法分析87
递归下降分析法87
预测语法分析法88
状态转换图88
非递归的预测分析法89
FIRST集合、FOLLOW集合和SELECT集合90
预测分析表的构造93
LL(1)文法及其分析法94
预测分析的错误恢复96
4.3自底向上的语法分析97
句柄98
句柄裁剪99
用栈实现移进-归约分析100
活前缀101
移进-归约分析过程中的冲突101
4.4算符优先分析法103
算符优先文法的定义104
算符优先关系表的构造105
算符优先分析算法的设计106
优先函数的构造109
算符优先分析中的错误恢复111
算符优先分析法的局限性113
4.5 LR分析方法113
LR语法分析概述114
LR文法与LR分析方法的特点116
LR(0)分析法116
SLR(1)分析法121
LR(1)分析法125
LALR(1)分析法128
LALR(1)语法分析表的有效构造132
LR语法分析表的压缩133
4.6二义性文法的应用135
使用优先级和结合规则来解决分析动作的冲突136
悬空else的二义性137
特例产生式引起的二义性解决139
LR语法分析中的错误恢复140
4.7语法分析器的生成器141
语法分析器的生成器YACC142
用YACC处理二义性文法144
用Lex建立YACC的词法分析器145
YACC的错误恢复145
小结146
综合练习四146
一、选择题146
二、填空题147
三、应用题147
四、实验题149
第5章 语法制导翻译与中间代码生成151
5.1语法制导翻译概述151
语法制导翻译的形式152
综合属性152
继承属性153
依赖图154
计算次序155
5.2 S属性的自下而上计算156
语法树156
构造表达式的语法树156
构造语法树的语法制导翻译157
表达式的无环有向图158
S属性的自下而上计算159
5.3 L属性文法160
L属性文法的定义161
翻译方案161
5.4自顶向下的语法制导翻译162
删除翻译方案的左递归162
预测翻译器的设计164
5.5继承属性的自下而上计算165
删除翻译方案中嵌入的动作165
分析栈上的继承属性166
模拟继承属性的计算167
用综合属性代替继承属性169
递归次数不确定的语法制导翻译169
5.6递归计算170
自左向右遍历170
其他遍历方法170
5.7语法制导翻译的分析171
属性的递归计算172
强无环的语法制导翻译172
5.8中间语言173
图表示173
三地址码174
三地址语句的类型174
语法制导翻译生成三地址码175
三地址语句与四元式176
表示方法比较与间址的使用177
5.9声明语句的翻译177
过程中的声明语句178
跟踪作用域信息178
记录中的域名179
5.10赋值语句的翻译180
简单算术表达式及赋值语句180
临时变量的重用180
定址数组元素181
数组元素寻址的翻译方案182
赋值语句中的类型转换184
记录域的访问184
5.11布尔表达式的翻译185
翻译布尔表达式的方法185
用数值表示的布尔表达式的翻译185
短路代码185
控制流语句186
用控制流表示布尔表达式的翻译187
混合模式的布尔表达式188
5.12分支语句的翻译189
小结190
综合练习五191
一、选择题191
二、填空题191
三、应用题191
四、实验题192
第6章 运行时的存储空间组织193
6.1程序运行的基本概念193
过程与函数193
活动树194
控制栈194
声明的作用域195
名字的结合195
6.2存储组织196
运行时内存的划分196
活动记录197
编译时的局部数据安排197
6.3存储分配策略199
静态存储分配策略199
栈式存储分配策略201
悬空引用203
堆式存储分配策略204
6.4访问非局部变量207
程序块207
无过程嵌套的静态作用域209
有过程嵌套的静态作用域210
动态作用域212
6.5参数传递213
按值调用213
引用调用215
复写-恢复调用215
换名调用216
6.6面向对象语言的存储分配策略216
面向对象语言的动态存储管理216
Java语言的存储分配217
小结219
综合练习六219
一、选择题219
二、填空题219
三、应用题220
四、实验题221
第7章 代码优化222
7.1优化技术简介222
7.2局部优化224
基本块的划分224
基本块的变换225
基本块DAG表示225
7.3循环优化226
程序流图226
循环227
代码外提228
强度削弱230
删除归纳变量231
7.4数据流分析与全局优化234
主要的概念234
数据流方程的一般形式235
到达-定值数据流方程235
小结239
综合练习七239
一、选择题239
二、填空题240
三、应用题240
四、实验题241
第8章 代码生成242
8.1代码生成器设计中的问题242
代码生成器的输入242
目标程序242
存储管理242
指令选择243
寄存器分配243
计算次序选译244
代码生成途径244
8.2目标机器244
8.3基本块和流图246
基本块246
基本块的变换247
流图248
8.4下次引用信息249
计算下次引用信息249
临时名字的存储分配250
8.5一个简单的代码生成器250
寄存器描述和地址描述251
代码生成算法251
函数getreg251
为其他类型的语句产生代码252
条件语句252
小结253
综合练习八253
一、选择题253
二、填空题254
三、应用题254
四、实验题254
第9章 面向对象的编译技术256
9.1面向对象语言的基本概念256
抽象256
对象和对象类256
继承257
信息封装259
9.2方法的编译260
9.3继承的编译方案262
单一继承的编译262
多重继承的编译264
小结268
综合练习九268
一、选择题268
二、填空题269
三、应用题269
四、实验题269
参考文献270
内容简介271