《编译技术原理》求取 ⇩

第一章 引论1

§1.1概述1

第一章 引论1

§1.1概述1

§1.2 编译程序的构造2

1.2.1 分析2

§1.2 编译程序的构造2

1.2.1 分析2

1.2.3 错误的检查与恢复5

1.2.2 符号表5

1.2.2 符号表5

1.2.3 错误的检查与恢复5

1.2.4 综合6

1.2.4 综合6

§1.3 编译的预处理和后续处理8

1.3.1预处理8

§1.3 编译的预处理和后续处理8

1.3.1预处理8

1.3.3装入和连接9

1.3.2 汇编9

1.3.2 汇编9

1.3.3装入和连接9

§1.4 编译的遍10

§1.4 编译的遍10

§2.1 算术表达式的文法11

2.1.1 语法图和语法结构树11

2.1.1 语法图和语法结构树11

§2.1 算术表达式的文法11

第二章 简单的编译程序设计11

第二章 简单的编译程序设计11

2.1.2 上下文无关文法和语法树12

2.1.2 上下文无关文法和语法树12

§2.2 语法分析程序设计15

2.2.1 确定的递归下降法15

§2.2 语法分析程序设计15

2.2.1 确定的递归下降法15

2.2.2 确定的递归下降分析程序17

2.2.2 确定的递归下降分析程序17

§2.3 关于语义的形式描述20

§2.3 关于语义的形式描述20

§2.4 关于翻译的形式描述22

§2.4 关于翻译的形式描述22

§2.5 简单表达式求值26

§2.5 简单表达式求值26

2.6.1 标识符的识别29

§2.6 词汇的识别29

§2.6 词汇的识别29

2.6.1 标识符的识别29

2.6.2 数的识别32

2.6.2 数的识别32

2.6.3 词法分析程序33

2.6.3 词法分析程序33

§2.7 语法结构树的建立34

§2.7 语法结构树的建立34

第三章 词法分析40

§3.1 概述40

§3.1 概述40

第三章 词法分析40

§3.2 词汇、模式和词形42

§3.2 词汇、模式和词形42

§3.3 输入缓冲43

§3.3 输入缓冲43

§3.4 正规表达式45

3.4.1 串和语言45

3.4.1 串和语言45

§3.4 正规表达式45

3.4.2 正规表达式47

3.4.2 正规表达式47

3.4.3 正规定义48

3.4.3 正规定义48

§3.5 词法分析程序设计49

3.5.1 词法分析器的规格说明49

§3.5 词法分析程序设计49

3.5.2 状态转换图50

3.5.2 状态转换图50

3.5.3 状态转换图的实现53

3.5.3 状态转换图的实现53

§3.6 软件工具Lex56

3.6.1 Lex规格说明56

§3.6 软件工具Lex56

3.6.1 Lex规格说明56

3.6.2 向前查看59

3.6.2 向前查看59

3.7.1 非确定的有穷自动机(NFA)60

§3.7 有穷自动机60

§3.7 有穷自动机60

3.7.1 非确定的有穷自动机(NFA)60

3.7.3 从NFA到DFA的转换62

3.7.2 确定的有穷自动机(DFA)62

3.7.2 确定的有穷自动机(DFA)62

3.7.3 从NFA到DFA的转换62

3.7.4 由正规表达式构造NFA65

3.7.4 由正规表达式构造NFA65

3.7.5 由正规表达式构造DFA67

3.7.5 由正规表达式构造DFA67

3.7.6 DFA的化简72

3.7.6 DFA的化简72

§4.1 概述75

第四章 语法分析75

第四章 语法分析75

§4.1 概述75

§4.2 上下文无关文法76

4.2.1 上下文无关文法的定义76

§4.2 上下文无关文法76

4.2.1 上下文无关文法的定义76

4.2.2 推导和语法树77

4.2.2 推导和语法树77

4.2.3 文法的二义性79

4.2.3 文法的二义性79

4.2.4 非上下文无关语言81

4.2.4 非上下文无关语言81

4.3.1 自顶向下分析法对文法的限制82

§4.3 自顶向下分析的共同问题82

4.3.1 自顶向下分析法对文法的限制82

§4.3 自顶向下分析的共同问题82

4.3.2 首符号集和后随符号集83

4.3.2 首符号集和后随符号集83

§4.4 LL(1)分析法85

§4.4 LL(1)分析法85

4.4.1 LL(1)文法85

4.4.1 LL(1)文法85

4.4.2 LL(1)分析器86

4.4.2 LL(1)分析器86

4.4.3 LL(1)分析的错误恢复88

4.4.3 LL(1)分析的错误恢复88

4.4.4 LL(1)分析表的构造90

4.4.4 LL(1)分析表的构造90

§4.5 自底向上分析的共同问题93

§4.5 自底向上分析的共同问题93

4.6.1 算符优先文法95

§4.6 算符优先分析法95

§4.6 算符优先分析法95

4.6.1 算符优先文法95

4.6.2 算符优先分析算法97

4.6.2 算符优先分析算法97

4.6.3 优先函数99

4.6.3 优先函数99

§4.7 LR分析法100

4.7.1 LR分析器100

§4.7 LR分析法100

4.7.1 LR分析器100

4.7.2 LR(0)分析表104

4.7.2 LR(0)分析表104

4.7.3 SLR分析表108

4.7.3 SLR分析表108

4.7.4 规范LR分析表114

4.7.4 规范LR分析表114

4.7.5 LALR分析表119

4.7.5 LALR分析表119

4.7.6 二义性文法的处理126

4.7.6 二义性文法的处理126

4.7.7 LR分析的错误恢复129

4.7.7 LR分析的错误恢复129

§4.8 软件工具Yacc131

§4.8 软件工具Yacc131

第五章 语法制导翻译136

§5.1 语法制导定义136

第五章 语法制导翻译136

§5.1 语法制导定义136

§5.2 属性的依赖关系137

5.2.1 综合属性137

§5.2 属性的依赖关系137

5.2.1 综合属性137

5.2.2 继承属性138

5.2.2 继承属性138

5.2.3 属性的依赖关系图139

5.2.3 属性的依赖关系图139

§5.3 语法结构树141

§5.3 语法结构树141

§5.4 S属性定义的求值145

§5.4 S属性定义的求值145

§5.5 L属性定义与翻译规程147

§5.5 L属性定义与翻译规程147

5.6.1 消除翻译规程中的左递归150

§5.6 自顶向下翻译150

§5.6 自顶向下翻译150

5.6.1 消除翻译规程中的左递归150

5.6.2 自顶向下翻译器的设计154

5.6.2 自顶向下翻译器的设计154

§5.7 L属性定义的求值156

§5.7 L属性定义的求值156

§5.8 属性值的存储与生存期160

§5.8 属性值的存储与生存期160

第六章 类型检查168

§6.1 类型系统168

第六章 类型检查168

§6.1 类型系统168

§6.2 类型检查器的规格说明171

§6.2 类型检查器的规格说明171

6.2.1 表达式的类型检查172

6.2.1 表达式的类型检查172

6.2.2 语句的类型检查173

6.2.3 函数的类型检查173

6.2.3 函数的类型检查173

6.2.2 语句的类型检查173

§6.3 类型表达式的等价性174

6.3.1类型表达式的结构等价174

§6.3 类型表达式的等价性174

6.3.1类型表达式的结构等价174

6.3.2 类型表达式的名称等价176

6.3.2 类型表达式的名称等价176

6.3.3 指针类型的循环定义178

6.3.3 指针类型的循环定义178

§6.4 类型转换179

§6.4 类型转换179

§6.5 函数和运算符的重载181

§6.5 函数和运算符的重载181

§7.1 中间语言183

7.1.1图表示法183

§7.1 中间语言183

第七章 中间代码生成183

7.1.1图表示法183

第七章 中间代码生成183

7.1.2 三地址代码184

7.1.2 三地址代码184

§7.2 关于说明的翻译189

§7.2 关于说明的翻译189

7.2.2 过程说明190

7.2.1 变量说明190

7.2.1 变量说明190

7.2.2 过程说明190

7.3.1 简单变量的访问193

§7.3 赋值语句的翻译193

7.3.1 简单变量的访问193

7.2.3 记录说明193

§7.3 赋值语句的翻译193

7.2.3 记录说明193

7.3.2 数组元素和记录的访问196

7.3.2 数组元素和记录的访问196

§7.4 布尔表达式的翻译200

§7.4 布尔表达式的翻译200

7.4.1 数值表示法201

7.4.1 数值表示法201

7.4.2 控制流表示法202

7.4.2 控制流表示法202

§7.5 CASE语句的翻译205

§7.5 CASE语句的翻译205

7.6.1 布尔表达式的翻译技术208

§7.6 回填技术208

§7.6 回填技术208

7.6.1 布尔表达式的翻译技术208

7.6.2 控制流语句212

7.6.2 控制流语句212

§7.7 过程调用214

§7.7 过程调用214

第八章 运行环境216

§8.1 过程的活动态216

§8.1 过程的活动态216

第八章 运行环境216

§8.2 存储器组织220

§8.2 存储器组织220

8.2.1 运行时存储器的划分221

8.2.2 活动记录221

8.2.2 活动记录221

8.2.1 运行时存储器的划分221

8.2.3 编译时局部数据的表示222

8.2.3 编译时局部数据的表示222

§8.3 存储分配策略223

§8.3 存储分配策略223

8.3.1 静态存储分配224

8.3.1 静态存储分配224

8.3.2 栈存储分配226

8.3.2 栈存储分配226

8.3.3 堆存储分配229

8.3.3 堆存储分配229

§8.4 非局部名称的访问230

8.4.1 分程序230

§8.4 非局部名称的访问230

8.4.1 分程序230

8.4.2 非嵌套过程的静态作用域232

8.4.2 非嵌套过程的静态作用域232

8.4.3 嵌套过程的静态作用域233

8.4.3 嵌套过程的静态作用域233

§8.5 参数传递237

§8.5 参数传递237

8.5.1 传值237

8.5.1 传值237

8.5.3 传值结果239

8.5.2 传地址239

8.5.3 传值结果239

8.5.2 传地址239

8.5.4传名240

§8.6 符号表240

8.5.4传名240

§8.6 符号表240

8.6.1 符号表项241

8.6.1 符号表项241

8.6.2 符号表的数据结构242

8.6.2 符号表的数据结构242

8.6.3 符号表中的作用域信息243

8.6.3 符号表中的作用域信息243

§8.7 动态存储分配245

8.7.1 动态存储分配的语言设施245

§8.7 动态存储分配245

8.7.1 动态存储分配的语言设施245

8.7.2 动态存储分配技术247

8.7.2 动态存储分配技术247

8.7.3 隐式存储回收248

8.7.3 隐式存储回收248

第九章 代码优化251

9.1.1 程序优化251

§9.1 概述251

第九章 代码优化251

9.1.1 程序优化251

§9.1 概述251

9.1.2 代码优化器的结构252

9.1.2 代码优化器的结构252

9.2.1 基本块及其划分253

§9.2 基本块与控制流图253

9.2.1 基本块及其划分253

§9.2 基本块与控制流图253

9.2.2 控制流图254

9.2.2 控制流图254

§9.3 基本块的优化255

§9.3 基本块的优化255

§9.4 局部优化257

9.4.1 冗余的公共表达式257

§9.4 局部优化257

9.4.1 冗余的公共表达式257

9.4.2 重复传送258

9.4.2 重复传送258

9.4.3 删除死块259

9.4.4 循环优化259

§9.5 循环优化259

9.5.1 代码外移259

9.5.2 归纳变量259

9.5.1 代码外移259

9.4.4 循环优化259

§9.5 循环优化259

9.5.2 归纳变量259

9.4.3 删除死块259

9.5.3 削弱计算强度260

9.5.3 削弱计算强度260

10.1.1 地址映射262

10.1.1 地址映射262

§10.1 代码生成器的设计要点262

第十章 目标代码生成262

§10.1 代码生成器的设计要点262

第十章 目标代码生成262

10.1.2 指令的选择263

10.1.2 指令的选择263

10.1.5 代码生成器的设计264

10.1.3 寄存器的分配264

10.1.4 求值顺序的选择264

10.1.5 代码生成器的设计264

§10.2 目标机器264

10.1.4 求值顺序的选择264

10.1.3 寄存器的分配264

§10.2 目标机器264

§10.3 运行时的存储管理266

§10.3 运行时的存储管理266

10.3.1 静态存储分配267

10.3.1 静态存储分配267

10.3.2 栈存储分配268

10.3.2 栈存储分配268

§10.4 名称的引用信息271

10.3.3 运行时名称的地址271

10.3.3 运行时名称的地址271

§10.4 名称的引用信息271

§10.5 简单的代码生成器272

§10.5 简单的代码生成器272

10.5.1 代码生成算法273

10.5.1 代码生成算法273

10.5.2 函数getreg274

10.5.2 函数getreg274

10.5.3 其它语句的代码生成275

10.5.3 其它语句的代码生成275

§10.6 窥孔优化277

10.6.1 冗余传送277

§10.6 窥孔优化277

10.6.1 冗余传送277

10.6.2 死代码278

10.6.3 控制流优化278

10.6.3 控制流优化278

10.6.2 死代码278

习题280

习题280

实验题296

实验题296

参考文献301

参考文献301

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

高度相关资料

计算机编译原理(1999 PDF版)
计算机编译原理
1999 北京:科学出版社
编译原理 P325( PDF版)
编译原理 P325
编译原理与实践(2020 PDF版)
编译原理与实践
2020
RISC 及后编译技术(1994 PDF版)
RISC 及后编译技术
1994
编译原理及编译程序构造(1995年12月第1版 PDF版)
编译原理及编译程序构造
1995年12月第1版 东南大学出版社
编译原理与实践( PDF版)
编译原理与实践
中国科学院希望高级电脑技术公司
编译技术( PDF版)
编译技术
翻译之原理与技巧(1989 PDF版)
翻译之原理与技巧
1989 北京:国家出版社
科学技术原理(1991 PDF版)
科学技术原理
1991 济南:山东科学技术出版社
编译技术(1995 PDF版)
编译技术
1995 南京:东南大学出版社
技术营销  原理与技术(1997 PDF版)
技术营销 原理与技术
1997 济南:山东大学出版社
编译程序原理与技术(1997 PDF版)
编译程序原理与技术
1997 北京市:清华大学出版社
编译原理及编译程序构造(1990 PDF版)
编译原理及编译程序构造
1990 北京:北京航空航天大学出版社
编译原理与实现(1989 PDF版)
编译原理与实现
1989 北京:高等教育出版社
编译原理和技术(1989 PDF版)
编译原理和技术
1989 合肥:中国科学技术大学出版社