图书介绍
高等学校工科电子类教材 编译技术 第2版PDF|Epub|txt|kindle电子书版本网盘下载
- 钱焕廷编著 著
- 出版社: 南京:东南大学出版社
- ISBN:7810232061
- 出版时间:2002
- 标注页数:295页
- 文件大小:8MB
- 文件页数:307页
- 主题词:编译程序-程序设计-高等学校-教材
PDF下载
下载说明
高等学校工科电子类教材 编译技术 第2版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
1概论1
1.1 程序设计语言1
1.2 编译程序3
1.3 源程序执行的途径4
1.3.1 编译途径4
1.3.2 解释途径5
1.4 编译程序的结构6
1.4.1 编译程序的组成6
1.4.2 编译程序的逻辑结构11
1.5 编译程序的开发12
1.5.1 编译程序的开发过程12
1.5.2 编译程序的开发技术13
习题15
2文法和形式语言16
2.1 符号和符号串16
2.1.1 字母表和符号串17
2.1.2 符号串的运算18
2.2 文法和语言20
2.2.1 文法和推导21
2.2.2 文法和语言25
2.2.3 递归规则和递归文法26
2.2.4 短语、简单短语与句柄28
2.3 语法树和二义性29
2.3.1 语法树和推导29
2.3.2 文法的二义性33
2.4 文法的实用限制37
2.4.1 文法的实用限制37
2.4.2 文法的变换40
2.5 扩充的BNF表示法45
2.6 文法和语言分类47
2.6.1 Chomsky对文法的定义47
2.6.2 文法和语言分类47
2.6.3 四类文法的关系51
2.7 正则表达式和正则集52
习题54
3 自动机57
3.1 转换图57
3.2 确定有限自动机(DFA)58
3.2.1 有限自动机58
3.2.2 确定有限自动机59
3.3 不确定有限自动机(NFA)61
3.3.1 不确定有限自动机61
3.3.2 NFA与DFA的变换64
3.4 ε-自动机66
3.5 自动机的简化68
3.5.1 等价状态和无关状态68
3.5.2 自动机的简化68
3.6 语法图与自动机71
3.6.1 语法图71
3.6.2 语法图与自动机72
3.7 下推自动机75
3.7.1 下推自动机75
3.7.2 下推自动机与上下文无关文法76
习题79
4 符号表80
4.1 符号表及其应用80
4.1.1 符号表80
4.1.2 符号表的查填81
4.1.3 符号表的作用81
4.2 符号表的内容82
4.2.1 单词的基本属性82
4.2.2 符号表的内容83
4.3 存储分配与符号表的组织84
4.3.1 存储分配概述84
4.3.2 各种类型的数据在计算机中的存储86
4.3.3 符号表的组织93
4.4 标识符的处理93
4.4.1 标识符的出现和处理93
4.4.2 标识符的作用域94
4.5 符号表的结构和存取94
4.5.1 无序符号表和有序符号表94
4.5.2 栈符号表95
习题99
5 词法分析100
5.1 引言100
5.2 取单词102
5.3 读标识符105
5.4 取无正负号数105
5.5 词法分析器的自动生成108
5.5.1 词法分析程序的自动生成问题108
5.5.2 Lex源程序108
5.5.3 lex编译程序110
5.5.4 词法分析程序110
习题111
6语法和语义分析114
6.1 常用的终结符号集114
6.1.1 首符号集114
6.1.2 向前看集115
6.1.3 可选集115
6.2 句子的分析116
6.2.1 自顶向下分析116
6.2.2 自底向上分析119
6.3 虚拟机120
6.3.1 虚拟机120
6.3.2 虚拟机的汇编指令121
6.4 递归子程序方法123
6.4.1 递归子程序及其调用123
6.4.2 递归子程序分析方法125
6.5 LL(k)分析方法128
6.5.1 LL(1)分析方法129
6.5.2 LL(1)文法130
6.5.3 LL(1)分析表131
6.6 运算符优先数法135
6.6.1 简单表达式的逆波兰表示135
6.6.2 逆波兰表达式的生成136
6.6.3 逆波兰表达式的处理140
6.6.4 运算符优先数法141
6.6.5 运算符的优先关系144
6.6.6 优先矩阵146
6.6.7 合适优先函数150
6.7 状态矩阵法152
6.7.1 状态的构造153
6.7.2 状态矩阵法156
习题159
7递归子程序方法161
7.1 PL/0程序设计语言161
7.1.1 PL/0概述161
7.1.2 PL/0语法图161
7.1.3 PL/0各语法成分之间的关系163
7.2 PL/0处理机164
7.2.1 PL/0处理机简介164
7.2.2 数据的存储与访问165
7.2.3 PL/0机的指令系统168
7.3 代码生成形式169
7.4 PL/0编译程序的子程序172
7.4.1 有关表格和几个辅助子程序172
7.4.2 读单词174
7.4.3 说明部分的处理175
7.4.4 表达式的处理177
7.4.5 语句的处理183
7.4.6 分程序的处理190
习题193
8 LR(k)分析方法194
8.1 LR分析方法的逻辑结构及分析过程194
8.1.1 活前缀与可归前缀194
8.1.2 LR分析方法的逻辑结构196
8.1.3 LR分析过程198
8.2 LR(0)分析表的构造201
8.2.1 基本概念201
8.2.2 状态描述序列和状态转换图203
8.2.3 LR(0)分析表的构造206
8.2.4 应用举例207
8.3 SLR(1)分析表的构造207
8.3.1 问题提出207
8.3.2 SLR(1)分析表的构造210
8.3.3 SLR(1)分析表211
8.3.4 应用举例211
8.4 LR(1)分析表的构造213
8.4.1 问题提出213
8.4.2 LR(1)分析表构造的方法思想214
8.4.3 状态描述序列216
8.4.4 LR(1)分析表的构造规则216
8.4.5 LR(1)文法217
8.4.6 LR(1)分析表217
8.5 LALR(1)分析表的构造219
8.5.1 问题提出219
8.5.2 LALR(1)分析表223
习题224
9 中间语言227
9.1 逆波兰表示227
9.1.1 赋值语句的逆波兰表示227
9.1.2 转向语句的逆波兰表示227
9.1.3 条件语句的逆波兰表示227
9.1.4 循环语句的逆波兰表示229
9.2 四元式230
9.2.1 四元式230
9.2.2 表达式和赋值语句的四元式231
9.2.3 转向语句和条件语句的四元式231
9.2.4 循环语句的四元式233
9.3 三元式233
9.3.1 三元式233
9.3.2 表达式和赋值语句的三元式234
9.3.3 转向语句和条件语句的三元式234
9.3.4 循环语句的三元式235
9.4 树表示236
习题237
10优化239
10.1 引言239
10.2 有关概念239
10.2.1 变量的使用点和定义点239
10.2.2 基本块240
10.2.3 区域变量和区域常量240
10.2.4 常表达式241
10.3 优化处理概述241
10.3.1 合并常量运算241
10.3.2 消除基本块中的公共子表达式241
10.3.3 外提循环中的不变表达式242
10.3.4 消减运算强度243
10.4 表达式的优化244
10.4.1 合并表达式中的常量运算244
10.4.2 消除公共子表达式245
10.5 循环优化246
10.5.1 外提不变表达式247
10.5.2 循环中的下标变量的优化249
习题251
11语法制导翻译与代码生成253
11.1 语法制导翻译253
11.1.1 语法制导翻译253
11.1.2 语法制导翻译思想253
11.1.1 常用语法制导翻译254
11.2 表达式的翻译254
11.2.1 语法规则与代码形式254
11.2.2 语法制导翻译技术255
11.3 布尔表达式的翻译256
11.3.1 语法规则与代码生成256
11.3.2 语法制导翻译技术257
11.4 语句的语法制导翻译257
11.4.1 赋值语句的翻译258
11.4.2 条件语句的翻译259
11.4.3 循环语句的翻译260
11.4.4 转向语句和带有标号语句的翻译261
11.4.5 复合语句的翻译261
11.5 过程调用语句的翻译262
11.5.1 过程调用语句的语法规则和代码形式262
11.5.2 过程调用的语法制导翻译技术263
11.6 说明部分的翻译264
11.6.1 说明部分的语法规则和代码形式264
11.6.2 说明部分的语法制导翻译技术265
11.7 属性文法技术267
11.7.1 增量式文法267
11.7.2 属性文法268
11.8 目标代码的生成271
11.8.1 目标代码形式271
11.8.2 目标代码生成271
11.9 寄存器的分配272
习题273
12存储组织与分配274
12.1 静态存储分配274
12.1.1 静态存储分配274
12.1.2 静态存储分配方法274
12.1.3 静态存储分配满足的条件275
12.2 栈式存储分配276
12.2.1 栈式存储分配276
12.2.2 分程序结构的栈式存储分配277
12.2.3 以过程为单位的栈式存储分配278
12.2.4 分程序的入口和出口280
12.3 堆式存储分析281
12.4 参数传递281
习题284
13程序的查错与处理285
13.1 引言285
13.2 词法分析阶段的查错处理286
13.2.1 词法错误286
13.2.2 词法错误的处理286
13.3 语法分析阶段的查错处理287
13.3.1 语法错误287
13.3.2 语法错误的处理287
13.4 语义分析阶段的错误处理288
13.4.1 语义错误288
13.4.2 语义错误的处理288
13.5 错误处理程序289
习题290
附录291
附录Ⅰ PL/0语言的文法规则291
附录Ⅱ PASCAL语言的文法规则292
参考文献295