《编译程序设计原理与构造技术》求取 ⇩

第一章引论1

1.1 程序设计语言1

1.2 编译过程概述3

1.2.1 编译程序模型4

1.2.2 分析4

1.2.3 综合6

1.2.4 符号表管理10

1.2.5 错误检测和处理11

1.3 编译器的构造11

1.3.1 阶段的分组11

1.3.2 编译器的运行环境12

1.3.3 构造编译器的工具15

第二章形式语言的基本知识17

2.1 引言17

2.1.1 语法树17

2.1.2 规则18

2.1.3 推导18

2.2 字母表、符号串及其集合的运算19

2.2.1 字母表和符号串20

2.2.2 符号串及其集合的运算20

2.3 文法和语言的形式定义22

2.3.1 文法的形式定义22

2.3.2 推导的形式定义24

2.4.1 分析树(Parse tree)26

2.4 分析树和二义性26

2.3.3 短语、直接短语和句柄26

2.4.2 子树与短语28

2.4.3 文法的二义性29

2.5 文法和语言分类30

第三章词法分析33

3.1 词法分析器的功能33

3.1.1 词法分析器的作用33

3.1.2 单词类别、构词规则和属性34

3.1.3 词法错误35

3.2 输入缓冲区36

3.3.1 正规表达式与正规集38

3.3 正规表达式与正规集38

3.3.2 正规定义39

3.4 词法分析器的设计40

3.4.1 预处理40

3.4.2 单词符号的识别41

3.4.3 状态转换图42

3.4.4 实现转换图44

3.5 有穷自动机51

3.5.1 确定有穷自动机51

3.5.2 不确定有穷自动机52

3.5.3 NFAN到DFAM的转换54

3.5.4 从正规式构造NFAN57

3.5.5 确定有穷自动机的化简59

3.6 词法分析器的自动生成器61

3.6.1 lex源程序62

3.6.2 lex的实现66

第四章语法分析68

4.1 自上而下分析68

4.1.1 递归下降分析69

4.1.2 预测分析器75

4.1.3 预测分析器的转换图78

4.1.4 非递归预测分析器80

4.1.5 构造预测分析表83

4.1.6 LL(1)文法87

4.2 自下而上分析88

4.2.1 句柄89

4.2.2 剪句柄90

4.2.3 用堆栈实现移进—归约分析91

4.3 算符优先分析93

4.3.1 使用算符优先关系的移进—归约分析95

4.3.2 算法优先关系表的构造97

4.3.3 优先函数101

4.3.4 算符优先分析的错误恢复103

4.4 LR分析器103

4.4.1 LR分析算法104

4.4.2 SLR分析表的构造106

4.4.3 规范的LR分析表的构造114

4.4.4 LALR分析表的构造118

4.5 二义文法的应用125

4.6 语法分析器的生成器129

4.6.1 yacc源程序130

4.6.2 使用二义文法的yacc应用示例132

第五章语法制导翻译和中间代码生成137

5.1 概述138

5.1.1 语法制导定义138

5.1.2 语法制导翻译143

5.2 逆波兰表示法146

5.3 语法树147

5.4 三地址代码149

5.4.2 三地址语句的实现150

5.4.1 三地址语句的种类150

5.5 简单算术表达式和赋值语句到四元式的翻译153

5.6 布尔表达式到四元式的翻译169

5.6.1 数值表示法的语法制导翻译170

5.6.2 布尔表达式的控制流翻译172

5.7 控制语句的翻译176

5.7.1 标号和转移语句176

5.7.2 控制流语句的翻译179

5.7.3 case语句的翻译181

5.8 说明语句的翻译183

5.8.1 简单变量说明语句的翻译184

5.8.2 数组说明语句的翻译185

5.8.3 记录结构说明语句的翻译186

5.9.1 数组元素引用189

5.9 数组元素和记录域的引用189

5.9.2 记录域的引用191

5.10 过程调用语句的翻译192

5.11 自上而下分析语法制导翻译概述193

第六章运行环境199

6.1 源语言问题199

6.1.1 过程200

6.1.2 活动树200

6.1.3 控制栈202

6.1.4 说明的作用域203

6.1.5 名字的联编203

6.2.1 运行时内存的划分204

6.2 存储组织204

6.2.2 活动记录205

6.2.3 编译时局部数据的安排206

6.3 存储分配策略207

6.3.1 静态分配207

6.3.2 栈式存储分配209

6.3.3 堆式存储分配213

6.4 访问非局部名字214

6.4.1 块214

6.4.2 没有嵌套过程的词法作用域215

6.4.3 具有嵌套过程的静态作用域216

6.4.4 动态作用域221

6.5.1 值调用222

6.5 参数传递222

6.5.2 引用调用223

6.5.3 复制恢复224

6.5.4 换名调用225

6.6 符号表226

6.6.1 符号表的表项227

6.6.2 线性符号表228

6.6.3 散列符号表229

6.6.4 作用域信息的表示231

第七章代码生成235

7.1 目标机器236

7.2 运行时的存储管理238

7.2.1 静态分配239

7.2.2 栈式分配240

7.2.3 名字的运行地址242

7.3 基本块和流图243

7.3.1 基本块243

7.3.2 基本块的变换244

7.3.3 流图245

7.4 下次引用信息246

7.5 一个简单的代码生成器247

7.5.1 寄存器和地址描述符248

7.5.2 代码生成算法248

7.5.3 函数getReg249

7.5.4 为其它类型的语句生成目标代码250

7.6 寄存器分配251

7.6.1 全局寄存器分配252

7.6.2 执行代价的节省252

7.6.3 寄存器分配的图着色方法254

7.7 基本块的dag表示及其应用255

7.7.1 dag的构造257

7.7.2 dag的应用258

7.7.3 数组、指针和过程调用259

7.8 从dag生成目标代码260

7.8.1 重排序261

7.8.2 dag的启发式排序261

7.8.3 树的最优代码263

7.9 窥孔优化268

第八章代码优化和数据流分析272

8.1 控制流分析和循环查找算法273

8.1.1 程序流图和循环273

8.1.2 必经结点集274

8.1.3 查找循环算法276

8.1.4 可归约流图277

8.2 到达一定值与引用一定值链278

8.2.1 到达一定值数据流方程278

8.2.2 到达一定值的迭代算法279

8.2.3 引用一定值链(ud链)281

8.3 循环优化282

8.3.1 代码外提282

8.3.2 强度削弱284

8.3.3 删除归纳变量285

8.4.1 活跃变量的数据流方程289

8.4 活跃变量与定值一引用链(du链)289

8.4.2 活跃变量数据流方程的迭代算法290

8.5 删除全局公共子表达式292

8.5.1 可用表达式及其数据流方程292

8.5.2 可用表达式数据流方程的迭代算法294

8.5.3 删除全局公共子表达式295

8.6 复写传播295

8.6.1 复写传播算法295

8.6.2 代码优化的综合考虑297

9.1 编译器的规划301

9.1.1 源语言问题301

第九章编译器的设计与实现301

9.1.2 目标语言问题302

9.1.3 性能标准302

9.2 编译器的开发方法302

9.2.1 编译器的书写语言303

9.2.2 自展303

9.3 编译器的开发环境306

9.4 测试和维护308

9.5 几个编译器简介308

9.5.1 Pascal编译器308

9.5.2 C语言编译器309

9.5.3 FORTRANH编译器310

参考文献313

1997《编译程序设计原理与构造技术》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由史杏荣,万炳奎编著 1997 合肥:中国科学技术大学出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

编译程序构造(1989 PDF版)
编译程序构造
1989 上海:上海科学技术文献出版社
程序设计语言 编译原理( PDF版)
程序设计语言 编译原理
编译原理及编译程序构造(1995年12月第1版 PDF版)
编译原理及编译程序构造
1995年12月第1版 东南大学出版社
程序设计语言编译原理(1984.06 PDF版)
程序设计语言编译原理
1984.06 国防工业出版社
FoxPro 2.5 进阶教程( PDF版)
FoxPro 2.5 进阶教程
数字计算机的编译程序构造  下(1976 PDF版)
数字计算机的编译程序构造 下
1976 北京:科学出版社
编译程序 通过Pascal的设计与构造(1991 PDF版)
编译程序 通过Pascal的设计与构造
1991 广州:暨南大学出版社
编译程序构造方法(1991 PDF版)
编译程序构造方法
1991 北京:科学出版社
编译程序原理与技术(1997 PDF版)
编译程序原理与技术
1997 北京市:清华大学出版社
编译程序设计原理(1990 PDF版)
编译程序设计原理
1990 北京:北京大学出版社
数据结构与程序设计技术(1981 PDF版)
数据结构与程序设计技术
1981 北京:科学出版社
程序设计语言编译原理(1980 PDF版)
程序设计语言编译原理
1980 北京:国防工业出版社
编译原理及编译程序构造(1990 PDF版)
编译原理及编译程序构造
1990 北京:北京航空航天大学出版社
程序设计语言与编译(1997 PDF版)
程序设计语言与编译
1997 北京:电子工业出版社
编译程序设计理论(1984 PDF版)
编译程序设计理论
1984 北京:科学出版社