图书介绍

编译原理教程PDF|Epub|txt|kindle电子书版本网盘下载

编译原理教程
  • 胡元义主编;邓亚玲,谈姝辰,赵明华副主编 著
  • 出版社: 西安:西安电子科技大学出版社
  • ISBN:9787560635682
  • 出版时间:2015
  • 标注页数:252页
  • 文件大小:40MB
  • 文件页数:261页
  • 主题词:编译程序-程序设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

编译原理教程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 编译程序的开发5

1.5 构造编译程序所应具备的知识内容6

习题一8

第二章 词法分析9

2.1 词法分析器的设计方法9

2.1.1 单词符号的分类与输出形式9

2.1.2 状态转换图10

2.2 一个简单的词法分析器示例12

2.2.1 C语言子集的单词符号表示12

2.2.2 C语言子集对应的状态转换图13

2.2.3 状态转换图的实现13

2.3 正规表达式与有限自动机简介16

2.3.1 正规表达式与正规集16

2.3.2 有限自动机18

2.4 正规表达式到有限自动机的构造20

2.4.1 由正规表达式构造等价的非确定有限自动机(NFA)20

2.4.2 NFA的确定化21

2.4.3 确定有限自动机(DFA)的化简23

2.4.4 正规表达式到有限自动机构造示例25

2.5 词法分析器的自动生成30

习题二32

第三章 语法分析35

3.1 文法和语言35

3.1.1 文法和语言的基本概念35

3.1.2 形式语言分类38

3.1.3 正规表达式与上下文无关文法40

3.2 推导与语法树41

3.2.1 推导与短语41

3.2.2 语法树与二义性42

3.3 自顶向下的语法分析47

3.3.1 递归下降分析法47

3.3.2 LL(1)分析法55

3.4 自底向上的语法分析61

3.4.1 自底向上分析原理61

3.4.2 算符优先分析法64

3.5 规范归约的自底向上语法分析方法73

3.5.1 LR分析器的工作原理74

3.5.2 LR(0)分析器79

3.5.3 SLR(1)分析器86

3.5.4 LR(1)分析器91

3.5.5 LALR(1)分析器95

3.5.6 二义文法的应用97

3.5.7 LR分析器的应用与拓展101

习题三103

第四章 语义分析和中间代码生成111

4.1 概述111

4.1.1 语义分析的概念111

4.1.2 语法制导翻译方法111

4.2 属性文法113

4.2.1 文法的属性113

4.2.2 属性文法113

4.3 几种常见的中间语言115

4.3.1 抽象语法树115

4.3.2 逆波兰表示法116

4.3.3 三地址代码118

4.4 表达式及赋值语句的翻译120

4.4.1 简单算术表达式和赋值语句的翻译120

4.4.2 布尔表达式的翻译122

4.5 控制语句的翻译127

4.5.1 条件语句if的翻译127

4.5.2 循环语句的翻译129

4.5.3 三种基本控制结构的翻译131

4.5.4 多分支控制语句switch的翻译136

4.5.5 语句标号和转移语句的翻译138

4.6 数组元素的翻译139

4.6.1 数组元素的地址计算及中间代码形式139

4.6.2 赋值语句中数组元素的翻译139

4.6.3 数组元素翻译示例141

4.7 过程或函数调用语句的翻译144

4.7.1 过程或函数调用的方法144

4.7.2 过程或函数调用语句的四元式生成145

4.8 说明语句的翻译145

4.8.1 变量说明的翻译145

4.8.2 数组说明的翻译146

4.9 递归下降语法制导翻译方法简介147

习题四148

第五章 代码优化152

5.1 局部优化152

5.1.1 基本块的划分方法152

5.1.2 基本块的DAG方法153

5.1.3 用DAG进行基本块的优化处理157

5.1.4 DAG构造算法的进一步讨论158

5.2 循环优化159

5.2.1 程序流图与循环159

5.2.2 循环的查找161

5.2.3 循环优化166

5.3 全局优化概述173

5.3.1 到达-定值与引用-定值链173

5.3.2 定值-引用链(du链)177

5.3.3 复写传播180

5.4 代码优化示例183

习题五187

第六章 目标程序运行时存储空间的组织191

6.1 静态存储分配191

6.2 简单的栈式存储分配192

6.2.1 栈式存储分配与活动记录193

6.2.2 过程的执行195

6.3 嵌套过程语言的栈式实现197

6.3.1 嵌套层次显示(DISPLAY)表和活动记录197

6.3.2 嵌套过程的执行199

6.3.3 访问非局部名的另一种实现方法200

6.4 堆式动态存储分配203

6.4.1 堆式存储的概念203

6.4.2 堆式存储的管理方法204

6.5 参数传递补遗205

6.5.1 参数传递的方法206

6.5.2 不同参数传递方法比较207

习题六208

第七章 目标代码生成211

7.1 简单代码生成器211

7.1.1 待用信息与活跃信息212

7.1.2 代码生成算法214

7.1.3 寄存器分配215

7.1.4 源程序到目标代码生成示例217

7.2 汇编指令到机器代码翻译概述219

习题七225

第八章 符号表与错误处理228

8.1 符号表228

8.1.1 符号表的作用228

8.1.2 符号表的组织228

8.1.3 分程序结构语言符号表的建立230

8.1.4 非分程序结构语言符号表的建立233

8.1.5 常用符号表结构234

8.1.6 符号表内容235

8.2 错误处理236

8.2.1 语法错误校正236

8.2.2 语义错误校正242

习题八243

附录1 8086/8088指令码汇总表245

附录2 8086/8088指令编码空间表250

参考文献252

热门推荐