《编译原理》求取 ⇩

第一章绪论1

1.1 编译过程概述2

1.2 编译程序的逻辑结构3

1.2.1 词法分析程序4

1.2.2 语法分析程序5

1.2.3 语义分析程序6

1.2.4 中间代码生成6

1.2.5 代码优化程序7

1.2.6 目标代码生成程序8

1.2.7 错误检查和处理程序9

1.2.8 信息表管理程序9

1.3 编译程序的组织10

习题11

第二章前后文无关文法和语言12

2.1 文法及语言的表示12

2.2 文法和语言的定义13

2.2.1 基本概念和术语13

2.2.2 文法和语言的形式定义15

2.3 句型的分析20

2.3.1 规范推导和规范归约21

2.3.2 语法树和二义性23

2.3.3 短语和句柄27

2.4 文法的化简和改造29

2.4.1 无用符号和无用产生式的删除29

2.4.2 ε-产生式的消除31

2.4.3 单产生式的消除33

2.5 文法和语言的Chomsky分类34

习题37

第三章词法分析及词法分析程序41

3.1 设计扫描器时应考虑的几个问题41

3.1.1 源程序的输入及预处理41

3.1.2 词法分析阶段的必要性42

3.1.3 单词符号的内部表示43

3.1.4 识别标识符的若干约定和策略43

3.2 正规文法和状态转换图45

3.2.1 由正规文法构造状态转换图45

3.2.2 状态转换图的一种实现——状态矩阵法49

3.3.1 确定的有限自动机52

3.3 有限自动机52

3.3.2 非确定的有限自动机54

3.3.3 NFA与DFA的等价性55

3.3.4 具有ε动作的FA58

3.3.5 具有ε动作的NFA的确定化61

3.3.6 DFA状态数的最小化63

3.4 正规表达式与正规集66

3.4.1 正规表达式与正规集的定义67

3.4.2 由正规文法构造相应的正规式68

3.4.3 由正规式构造FA71

3.5 词法分析程序的实现73

3.5.1 词法分析程序的编写74

3.5.2 词法分析程序的自动生成77

习题82

上机实习题86

第四章语法分析和语法分析程序89

4.1 自顶向下的语法分析89

4.1.1 消除文法的左递归91

4.1.2 带回溯的递归子程序法94

4.1.3 回溯的消除与LL(1)文法96

4.1.4 LL(1)分析器的工作原理97

4.1.5 LL(1)分析器的构造方法102

4.1.6 某些非LL(1)文法的改造103

4.2 自底向上的语法分析105

4.2.1 简单优先分析法107

4.2.2 算符优先分析法116

4.2.3 优先函数124

4.2.4 LR分析法130

4.3.1 YSP文件的结构147

4.3 语法分析程序的自动生成工具——YACC147

4.3.2 YSP文件说明部分的组成149

4.3.3 YSP文件语法规则部分的组成150

4.3.4 程序部分151

4.3.5 二义性文法的处理151

4.3.6 YACC应用实例152

习题154

上机实习题161

第五章语法制导翻译及中间代码生成163

5.1 引言163

5.2.1 逆波兰表示165

5.2 几种常见的中间语言165

5.2.2 四元式和三元式168

5.2.3 树形表示171

5.3 简单算术表达式和赋值语句的翻译172

5.4 布尔表达式的翻译176

5.5 一些控制语句的翻译181

5.5.1 语句标号和GOTO语句的翻译181

5.5.2 用于组织控制流程的一些语句的翻译184

5.5.3 循环语句的翻译192

5.5.4 情况语句的翻译195

5.6 含数组元素的算术表达式及赋值语句的翻译198

5.6.1 下标变量地址的计算199

5.6.2 含有下标变量的赋值语句的翻译201

5.7 过程说明和过程调用的翻译204

5.7.1 过程说明的翻译204

5.7.2 实参和形参间的信息传递205

5.7.3 过程语句的翻译209

5.8 类型说明与数组说明的翻译211

习题213

上机实习题217

第六章符号表219

6.1 符号表的组织219

6.2 PASCAL符号表的建立与查找222

6.3 FORTRAN符号表的建立226

习题229

第七章运行时的存贮组织与分配231

7.1 存贮组织231

7.1.1 运行时内存的划分231

7.1.2 活动记录232

7.2 运行时的分配策略233

7.2.1 静态分配233

7.2.2 栈式分配234

7.2.3 堆式分配236

7.3 FORTRAN的存贮组织与分配237

7.3.1 FORTRAN数据区及其组织237

7.3.2 COMMON语句的处理239

7.3.3 EQUIVALENCE语句的处理243

7.3.4 FORTRAN数据区的地址分配246

习题250

第八章代码优化253

8.1 局部优化253

8.1.1 划分基本块的算法255

8.1.2 基本块的DAG表示255

8.1.3 利用DAG进行基本块上的优化处理258

8.1.4 含有数组元素、指针及过程调用的DAG261

8.2 数据流分析的若干问题263

8.2.1 控制流程图263

8.2.2 “到达-定值”数据流方程及“引用-定值”链264

8.2.3 “引用-定值”链的计算及应用268

8.2.4 活跃变量数据流方程269

8.2.5 “定值-引用”链271

8.3 循环优化274

8.3.1 循环的查找274

8.3.2 循环优化的某些项目278

习题291

上机实习题296

9.1 目标代码的形式297

第九章目标代码生成297

9.2 一种假想的计算机模型299

9.3 一种代码生成程序的雏型301

9.3.1 待用信息302

9.3.2 寄存器描述符与地址描述符303

9.3.3 生成目标代码的算法304

9.4 DAG的代码生成307

9.5 全局寄存器分配309

习题312

上机实习题313

第十章查错与改错315

10.1 语法错误的校正316

10.1.1 单词错误的校正316

10.1.2 自顶向下分析中的错误校正317

10.1.3 自底向上分析中的错误校正320

10.2 语义错误的校正322

10.2.1 遏止株连信息323

10.2.2 遏止重复信息323

习题324

参考文献325

1993《编译原理》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由蒋立源等编 1993 西安:西北工业大学出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

编译原理(1985 PDF版)
编译原理
1985 北京:电子工业出版社
编译原理 P325( PDF版)
编译原理 P325
程序设计语言 编译原理( PDF版)
程序设计语言 编译原理
编译原理与实践(2020 PDF版)
编译原理与实践
2020
编译原理及编译程序构造(1995年12月第1版 PDF版)
编译原理及编译程序构造
1995年12月第1版 东南大学出版社
程序设计语言编译原理(1984.06 PDF版)
程序设计语言编译原理
1984.06 国防工业出版社
编译原理与实践( PDF版)
编译原理与实践
中国科学院希望高级电脑技术公司
遥感:原理和判译( PDF版)
遥感:原理和判译
编译程序原理与技术(1997 PDF版)
编译程序原理与技术
1997 北京市:清华大学出版社
编译程序设计原理(1990 PDF版)
编译程序设计原理
1990 北京:北京大学出版社
程序设计语言编译原理(1980 PDF版)
程序设计语言编译原理
1980 北京:国防工业出版社
编译原理及编译程序构造(1990 PDF版)
编译原理及编译程序构造
1990 北京:北京航空航天大学出版社
编译原理与实现(1989 PDF版)
编译原理与实现
1989 北京:高等教育出版社
编译原理和技术(1989 PDF版)
编译原理和技术
1989 合肥:中国科学技术大学出版社
计算机编译原理(1999 PDF版)
计算机编译原理
1999 北京:科学出版社