图书介绍
程序设计语言编译原理PDF|Epub|txt|kindle电子书版本网盘下载
![程序设计语言编译原理](https://www.shukui.net/cover/52/32320729.jpg)
- 陈火旺等编 著
- 出版社: 北京:国防工业出版社
- ISBN:7118004162
- 出版时间:1984
- 标注页数:309页
- 文件大小:16MB
- 文件页数:319页
- 主题词:
PDF下载
下载说明
程序设计语言编译原理PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
目 录1
引论1
0.1什么叫编译程序1
0.2编译过程概述1
0.3编译程序的结构4
0.3.1编译程序总框4
0.3.2表格与表格管理5
0.3.3遍7
0.4编译程序的生成7
0.5学习构造编译程序8
第一章高级程序语言概述10
1.1程序语言的定义10
1.1.1语言的词法和语法结构10
1.1.2语义11
1.2初等类型数据12
1.2.1标识符和名字13
1.2.2名字的属性和说明13
1.3 数据结构14
1.3.1数组14
1.3.2记录结构16
1.3.3字符串、表格和栈17
1.4 表达式17
1.5语句19
1.5.1赋值句19
1.5.2控制语句20
1.5.3说明句20
1.5.4简单句和复合句20
1.6 程序段20
1.6.1 FORTRAN20
1.6.3 PASCAL21
1.6.2 ALGOL21
1.7 参数传递22
1.7.1参数22
1.7.2传地址22
1.7.3传值23
*1.7.4传名24
1.8存储管理24
1.8.1静态存储分配24
1.8.2动态存储分配24
1.8.3栈式动态存储分配25
*1.8.4堆式动态存储分配26
1.9 历史回顾27
2.1.1词法分析器的功能和29
输出形式29
2.1对于词法分析器的要求29
第二章词法分析29
2.1.2词法分析器作为一个30
独立子程序30
2.2词法分析器的设计30
2.2.1输入、预处理31
2.2.2单词符号的识别:32
超前搜索32
2.2.3状态转换图33
2.2.4 状态转换图的实现36
*2.3正规表达式与有限自动机38
2.3.1正规式与正规集38
2.3.2确定有限自动机(DFA)39
2.3.3非确定有限自动机(NFA)41
2.3.4正规式与有限自动机的41
等价性41
2.3.5确定有限自动机的化简45
*2.4词法分析器的自动产生46
2.4.1语言LEX的一般描述47
2.4.2超前搜索49
2.4.3 LEX的实现50
第三章程序语言的语法描述与55
分析55
3.1上下文无关文法55
3.1.1文法与语言55
3.1.2语法树与二义性58
3.1.3形式语言鸟瞰60
3.2 语法分析——自下而上62
分析62
3.2.1归约与分析树63
3.2.2规范归约简述65
3.2.3符号栈的使用与分析树的67
表示67
3.3算符优先分析法68
3.3.1直观算符优先分析法70
3.3.2算符优先文法和优先表构造73
3.3.3算符优先分析算法的设计76
3.3.4优先函数78
3.4 语法分析——自上而下80
分析80
3.5递归下降分析法82
3.5.1左递归的消除83
3.5.2消除回溯、提左因子和递归84
下降分析器84
3.5.3文法的另一种表示法和转换图86
3.5.4预测分析程序88
3.5.5状态表92
自动构造98
4.1 LR分析器98
*第四章语法分析程序的98
4.1.1LR文法101
4.1.2一些非LR结构102
4.2 LR(0)项目集族和LR103
(0)分析表的构造103
4.2.1 LR(0)项目集规范族的构造105
4.2.2有效项目107
4.2.3 LR(0)分析表的构造108
4.3SLR分析表的构造109
4.4 规范LR分析表的构造113
4.5 LALR分析表的构造116
4.6二义文法的应用123
4.7分析表的自动产生126
4.7.1终结符和产生式的优先级126
4.7.2结合规则127
4.8 LR分析表的实际安排128
第五章语法制导翻译和中间132
代码产生132
5.1语法制导翻译概说132
5.2逆波兰表示法135
5.2.1后缀式的计值135
5.2.2后缀式的推广136
5.2.3语法制导生成后缀式137
5.3 三元式和树137
5.3.1间接三元式139
5.3.2树139
5.4 四元式140
5.5 简单算术表达式和赋值141
句到四元式的翻译141
5.6 布尔表达式到四元式的144
翻译144
5.6.1作为条件控制的布尔式翻译145
5.7.1标号和转移语句148
5.7控制语句的翻译148
5.7.2条件语句149
5.7.3循环语句152
5.7.4分叉语句154
5.8 数组元素引用156
5.8.1数组元素引用的中间代码157
5.8.2赋值句中数组元素的翻译158
5.8.3按列为序存放数组元素160
的情形160
5.9过程调用162
5.9.1过程调用的四元式产生162
5.9.2过程调用和数组元素相混淆163
的处理163
5.10说明语句的翻译163
*5.11记录结构165
5.11.1记录说明的翻译166
5.11.2记录结构的引用167
5.12输入/输出语句的翻译168
5.12.1 I/O语句的实现168
5.12.2 I/O语句的翻译170
5.12.3格式语句的处理171
5.13 自上而下分析制导172
翻译概说172
第六章符号表178
6.1 符号表的组织和使用178
6.2整理与查找180
6.2.1线性表180
6.2.2对折查找与二叉树181
6.2.3杂凑技术183
6.3 名字的作用范围185
6.3.1 FORTRAN的符号表组织185
6.3.2 ALGOL的符号表组织186
6.4符号表的内容189
第七章运行时存储空间组织193
7.1 静态存储管理——FORTRAN193
存储分配193
7.1.1数据区194
7.1.2公用语句的处理196
7.1.3等价语句的处理197
7.1.4地址分配200
7.1.5临时变量的地址分配202
7.2一个简单的栈式存储分配204
的实现204
7.2.1 C的活动记录205
7.2.2C的过程调用,过程进入,205
数组空间分配和过程返回205
7.3 嵌套过程语言的栈式实现206
和活动记录207
7.3.1 嵌套层次显示表DISPLAY207
7.3.2过程调用,过程进入208
7.3.3参数传递209
7.4 ALGOL的实现210
7.4.1分程序结构211
7.4.2分程序的进入和退出212
7.4.3过程调用,进入和返回214
7.4.4参数子程序215
7.5 分程序结构语言存储分配216
拾遗216
第八章错误的诊察和校正219
8.1出错处理概述219
8.1.1语法错误220
8.1.2 语义错误220
8.1.3错误处理221
8.2词法分析阶段的错误诊察222
8.1.4出错处理系统与编译程序222
各阶段的联系222
8.3 语法分析(自下而上)阶段223
的错误诊察223
8.3.1算符优先分析法的错误处理223
*8.3.2 LR分析算法的错误处理226
*8.4 自上而下分析的错误诊察228
8.5语义错误诊察231
8.5.1遏止株连信息231
8.5.2遏止重复信息231
第九章代码优化233
9.1 优化概述233
9.2 局部优化236
其应用237
9.3.1基本块的DAG表示237
9.3 基本块的DAG表示及237
9.3.2 DAG的应用240
9.3.3 DAG构造算法讨论242
9.4控制流程分析和循环244
查找算法244
9.4.1程序流图与循环245
9.4.2必经结点集246
9.4.3查找循环算法248
9.4.4可归约流图250
9.4.5深度为主查找及其算法251
9.5 到达-定值与引用-定值链253
9.5.1到达-定值数据流方程253
9.5.2到达-定值数据流方程255
的求解255
9.5.3引用-定值链(ud链)257
9.5.4 ud链的应用257
9.6.1代码外提258
9.6 循环优化258
9.6.2强度削弱261
9.6.3删除归纳变量263
*第十章数据流分析271
10.1 活跃变量与定值-引用链271
(du链)271
10.1.1活跃变量的数据流方程271
10.1.2活跃变量数据流方程272
的求解272
10.1.3定值-引用链(du链)273
10.1.4活跃变量与du链的应用275
10.2 删除全局公共子表达式275
10.2.1可用表达式及其数据流方程275
的算法278
10.2.3删除全局公共子表达式278
10.2.2可用表达式数据流278
方程的求解278
10.3 复写传播279
10.4 非常忙表达式和代码提升281
10.4.1非常忙表达式数据流方程283
10.4.2代码提升284
10.5 四类数据流方程小结285
10.6 实施各种优化的综合考虑286
11.1一个计算机模型293
第十一章代码生成293
11.2一个简单代码生成器294
11.2.1待用信息294
11.2.2寄存器描述和地址描述295
11.2.3代码生成算法295
11.3寄存器分配298
*11.4 DAG的目标代码301
*11.5树的目标代码303