图书介绍
编译原理及编译程序构造pdf电子书版本下载
- 高仲仪,金茂忠编 著
- 出版社: 北京:北京航空航天大学出版社
- ISBN:7810121863
- 出版时间:1990
- 标注页数:444页
- 文件大小:18MB
- 文件页数:455页
- 主题词:编译原理
PDF下载
下载说明
编译原理及编译程序构造PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一章 引言 1
1.1 程序设计语言 1
1.2 翻译程序 2
1.3 编译程序模型 4
1.4 编译程序的前后处理器 9
1.4.1 预处理器 9
1.4.2 汇编程序 10
1.4.3 两遍汇编 10
1.4.4 加载器和连接编辑器 11
1.5 编译技术在软件工程中的应用 11
2.1.1 语法树 14
2.1 文法的非形式讨论 14
第二章 文法和语言的概念和表示 14
2.1.2 规则 15
2.1.3 由规则推导句子 15
2.2 符号、符号串及其集合的运算 18
2.2.1 字母表和符号串 18
2.2.2 符号串及其集合的运算 18
2.3 文法和语言的形式定义 20
2.3.1 文法的形式定义 20
2.3.2 推导的形式定义 21
2.3.3 语言的形式定义 22
2.3.4 递归规则与递归文法 24
2.3.5 短语、简单短语和句柄 25
2.4.1 推导与语法树 27
2.4 语法树和二义性 27
2.4.2 文法的二义性 30
2.5 符号串的分析 35
2.5.1 自顶向下分析 35
2.5.2 自底向上分析 36
2.6 有关文法的实用限制 37
2.7 扩充的BNF表示和语法图 39
2.7.1 扩充的BNF表示 39
2.7.2 语法图 40
2.8 文法和语言分类 41
第三章 词法分析 43
3.1 词法分析程序的功能 43
3.2.1 源程序的输入 44
3.2 源程序的输入与词法分析程序的输出 44
3.2.2 单词符号的种类及词法分析程序的输出形式 45
3.3 正则文法及其状态图 45
3.3.1 状态图 46
3.3.2 状态图的作用 46
3.4 词法分析程序的设计与实现 47
3.4.1 文法及其状态图 47
3.4.2 词法分析程序的构造 48
3.4.3 词法分析程序的实现 49
3.5 正则文法和正则表达式 52
3.6 有穷自动机(FA) 54
3.6.1 确定的有穷自动机(DFA) 54
3.6.2 不确定的有穷自动机(NFA) 56
3.6.3 NFA的确定化 57
3.6.4 正则表达式与有穷自动机的等价性 59
3.7 词法分析程序的自动生成器 63
3.7.1 LEX源程序(LEX的输入文件) 63
3.7.2 LEX的实现 64
第四章 语法分析 69
4.1 自顶向下分析方法 69
4.1.1 带回溯的自顶向下分析算法 69
4.1.2 存在的问题及解决办法 70
4.2 递归下降分析(递归子程序法) 75
4.3 LL(1)分析方法 80
4.3.1 LL(1)分析器的逻辑结构及工作过程 80
4.3.2 LL(1)分析表的构造方法 84
4.4 自底向上分析方法 88
4.5 算符优先分析法 90
4.5.1 方法概述 90
4.5.2 直观算符优先分析法 92
4.5.3 算符优先分析法的进一步讨论 95
4.6 LR分析方法 100
4.6.1 概念和术语 101
4.6.2 LR(0)分析器 104
4.6.3 SLR(1)分析器 109
4.6.4 规范LR(1)分析器 117
4.6.5 LALR(1)分析器 123
第五章 语法制导翻译技术 128
5.1 翻译文法(TG) 128
5.2 语法制导翻译 130
5.3 属性翻译文法(ATG) 131
5.3.1 综合属性 131
5.3.2 继承属性 133
5.3.3 属性翻译文法 134
5.3.4 属性翻译文法举例——算术表达式的翻译 136
5.4 自顶向下语法制导翻译 139
5.4.1 翻译文法的自顶向下处理 139
5.4.2 属性文法的自顶向下翻译 145
5.5 自底向上的语法制导翻译 158
5.5.1 波兰翻译 159
5.5.2 S-属性文法 160
6.2 何时建立和访问符号表 163
6.1 前景和动机 163
第六章 符号表管理技术 163
6.3 符号表内容 165
6.4 在符号表上的操作 167
6.5 非分程序结构语言的符号表组织 169
6.5.1 无序符号表 169
6.5.2 有序符号表 170
6.5.3 散列符号表 171
6.6 分程序结构语言的符号表组织 180
6.6.1 分程序结构语言的概念 180
6.6.2 栈式符号表 182
6.6.3 散列符号表的栈式实现 183
7.1 静态存贮分配 186
第七章 运行时的存贮组织及管理 186
7.2 动态存贮分配 188
7.2.1 活动记录 190
7.2.2 参数区 190
7.2.3 Display区 190
7.2.4 运行时的地址计算 192
7.2.5 递归过程的处理 193
7.3 堆式存贮分配 196
7.3.1 隐式存贮请求 196
7.3.2 显示存贮请求 197
7.3.3 堆式存贮管理技术 198
8.1 波兰表示 205
第八章 源程序的中间形式 205
8.2 N-元表示 206
8.3 抽象语法树 208
8.4 抽象机代码 209
8.4.1 可移植性和抽象机 209
8.4.2 PASCAL的P-code抽象机 210
第九章 错误处理 212
9.1 概述 212
9.2 错误的分类 212
9.3 错误的诊察与报告 213
9.4 错误处理技术 214
9.4.1 错误改正 215
9.4.2 错误局部化处理 215
9.5 遏止重复的错误信息 217
第十章 语义分析和代码生成 219
10.1 语义分析的概念 219
10.2 栈式抽象机及其汇编指令 221
10.3 声明的处理 222
10.3.1 常量类型 223
10.3.2 简单变量 223
10.3.3 数组变量 225
10.3.4 记录变量 226
10.3.5 过程声明 227
10.4 表达式 228
10.5 赋值语句 234
10.6 控制语句 235
10.6.1 if语句 236
10.6.2 分情形语句 237
10.6.3 repeat-while语句 238
10.6.4 for循环语句 239
10.7 过程调用和返回 241
10.7.1 参数的基本传递形式 241
10.7.2 过程调用 242
10.7.3 返回语句和过程终止 246
10.8 输入和输出语句 246
10.8.1 输入语句 246
10.8.2 输出语句 249
10.9 编译程序的辅助功能 249
11.2 基本块 251
11.1 概述 251
第十一章 代码优化 251
11.3 常数合并 252
11.4 冗余子表达式的消除 257
11.5 循环内的优化 265
11.5.1 循环展开 266
11.5.2 频度削弱 269
11.5.3 强度削弱 275
11.5.4 循环优化技术的综合 278
第十二章 与机器有关的优化及目标代码的生成 283
12.1 与机器有关的优化概述 283
12.2.1 单寄存器机器中的寄存器分配 284
12.2 寄存器分配的优化 284
12.2.2 多寄存器机器中的寄存器分配 290
12.3 目标机和目标代码生成 294
12.3.1 PDP-11 295
12.3.2 VAX-11 299
第十三章 编译程序生成方法和工具 305
13.1 编译程序的书写语言 305
13.2 自展 306
13.3 移植 306
13.4 编译程序—编译程序 307
13.4.1 YACC:一个LALR(1)分析器生成器 308
13.4.2 属性LL(1)分析器生成器 313
13.4.3 代码生成器的生成系统 319
14.1 PL/0语言 324
第十四章 PL/0简单编译系统 324
14.2 PL/0编译系统结构 328
14.3 PL/0的词法分析 329
14.4 PL/0的语法分析 330
14.5 出错处理 332
14.6 目标代码的生成和解释执行 333
14.7 PL/0程序编译和运行举例 335
第十五章 Pascal-S编译系统 344
15.1 Pascal-S语言 344
15.2 Pascal-S编译程序的结构 349
15.3 Pascal-S编译程序 353
15.3.1 表格 353
15.3.2 编译初启 358
15.3.3 实用程序 359
15.3.4 词法分析及处理 359
15.3.5 语法分析处理 359
15.3.6 出错处理 364
15.4 Pascal-S解释执行程序 366
15.4.1 P代码指令系统 366
15.4.2 运行栈 368
15.4.3 运行时的display 369
15.4.4 运行出错处理和现场剖析打印 370
15.5 编译及运行的例子 370
参考资料 380
附录A PL/0编译系统源程序清单 383
附录B Pascal-S编译系统源程序清单 395