图书介绍

编译原理及实现PDF|Epub|txt|kindle电子书版本网盘下载

编译原理及实现
  • 孙悦红编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302265849
  • 出版时间:2011
  • 标注页数:256页
  • 文件大小:91MB
  • 文件页数:271页
  • 主题词:编译程序-程序设计-高等学校-教材

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

1.2 翻译程序2

1.3 编译程序的组成3

1.3.1 词法分析4

1.3.2 语法分析4

1.3.3 语义分析及中间代码生成5

1.3.4 代码优化5

1.3.5 目标代码生成6

1.3.6 符号表管理6

1.3.7 错误处理7

1.4 编译程序的结构7

1.4.1 单遍编译程序7

1.4.2 多遍编译程序7

1.4.3 编译程序分遍的优缺点8

1.4.4 “端”的概念8

1.5 编译程序的前后处理器9

1.5.1 预处理器9

1.5.2 汇编程序9

1.5.3 连接加载程序10

1.6 TEST语言与编译器10

1.6.1 TEST语言10

1.6.2 TEST编译器11

1.6.3 TEST机11

习题11

第2章 文法和语言12

2.1 字母表和符号串12

2.1.1 字母表12

2.1.2 符号串13

2.1.3 符号串及其集合的运算13

2.2 文法14

2.2.1 文法形式定义14

2.2.2 文法的EBNF表示16

2.3 推导17

2.3.1 直接推导定义17

2.3.2 推导定义18

2.3.3 规范推导18

2.4 句型和句子18

2.5 语言19

2.6 递归规则与递归文法20

2.6.1 递归规则20

2.6.2 递归文法20

2.7 短语、简单短语和句柄21

2.8 语法树22

2.9 子树与短语22

2.10 由树构造推导过程23

2.11 文法的二义性23

2.12 有关文法的实用限制25

2.13 文法和语言分类26

习题27

第3章 词法分析29

3.1 词法分析的功能29

3.2 程序语言的单词符号种类及词法分析输出30

3.3 正则文法及状态图31

3.3.1 状态图31

3.3.2 状态图的用法32

3.4 词法分析程序的设计与实现33

3.4.1 TEST语言的词法规则及状态图33

3.4.2 TEST语言词法分析程序的构造35

3.4.3 TEST语言的词法分析程序实现36

3.5 正则表达式38

3.5.1 正则表达式定义38

3.5.2 正则文法到正则表达式的转换39

3.6 有穷自动机40

3.6.1 确定的有穷自动机40

3.6.2 不确定的有穷自动机42

3.6.3 NFA到DFA的转化44

3.6.4 正则表达式与有穷自动机的等价性47

3.6.5 确定的有穷自动机的化简49

3.6.6 根据DFA构造词法分析程序51

3.7 词法分析程序的自动生成器LEX52

3.7.1 用LEX语言表达正则表达式53

3.7.2 LEX源程序结构54

3.7.3 使用LEX生成TEST语言的词法分析程序58

习题60

第4章 语法分析——自顶向下分析62

4.1 自顶向下分析方法62

4.2 FIRST集合和FOLLOW集合63

4.2.1 FIRST集合定义及构造方法63

4.2.2 FOLLOW集合定义及构造方法64

4.3 递归下降分析65

4.3.1 递归下降分析的基本方法65

4.3.2 递归下降分析中存在的问题及解决方法65

4.3.3 TEST语言的递归下降分析实现69

4.4 LL(1)分析方法72

4.4.1 LL(1)分析的基本方法72

4.4.2 LL(1)分析表的构造方法75

4.4.3 LL(1)分析的主要问题及解决方法76

习题78

第5章 语法分析——自底向上分析80

5.1 规范推导、规范句型和规范归约80

5.2 自底向上分析方法的一般过程81

5.3 LR分析方法82

5.3.1 LR分析器逻辑结构82

5.3.2 LR分析表构成82

5.3.3 LR分析过程84

5.4 LR(0)分析器85

5.4.1 活前缀和可归前缀85

5.4.2 LR(0)项目86

5.4.3 构造识别活前缀的有穷自动机88

5.4.4 LR(0)分析表的构造92

5.4.5 LR(0)分析器的工作过程94

5.4.6 LR(0)文法95

5.5 SLR(1)分析器96

5.5.1 SLR解决方法的基本思想98

5.5.2 SLR(1)分析表的构造98

5.6 LR(1)分析器102

5.6.1 LR(1)项目104

5.6.2 LR(1)项目集规范族构造算法105

5.6.3 LR(1)分析表的构造108

5.7 LALR(1)分析器110

5.8 语法分析程序的自动生成工具——YACC114

5.8.1 YACC源程序结构115

5.8.2 YACC源程序说明部分的组成115

5.8.3 YACC源程序的语法规则部分的组成116

5.8.4 YACC源程序的程序部分的组成117

5.8.5 二义性文法的处理119

5.8.6 YACC示例运行119

习题120

第6章 语法制导翻译技术122

6.1 翻译文法122

6.2 语法制导翻译124

6.3 自顶向下语法制导翻译125

6.3.1 递归下降翻译125

6.3.2 LL(1)翻译器128

6.4 属性翻译文法130

6.4.1 综合属性130

6.4.2 继承属性132

6.4.3 属性翻译文法定义133

6.4.4 属性翻译文法举例——算术表达式的翻译134

6.5 属性文法的自顶向下翻译136

6.5.1 L-属性翻译文法136

6.5.2 L-属性翻译文法的翻译实现——递归下降翻译137

6.5.3 L-属性翻译文法的翻译实现——LL(1)法142

6.6 自底向上语法制导翻译146

6.6.1 波兰翻译146

6.6.2 S-属性文法148

6.6.3 S-属性波兰翻译文法的翻译实现149

习题151

第7章 符号表管理技术153

7.1 何时建立和访问符号表153

7.2 符号表的组织和内容154

7.3 符号表上的操作156

7.4 非块程序结构语言的符号表结构157

7.5 块程序结构语言的符号表组织159

7.5.1 块程序结构语言的概念159

7.5.2 栈式符号表160

习题161

第8章 程序运行时的存储组织及管理162

8.1 程序运行时的存储组织162

8.2 静态存储分配163

8.3 栈式动态存储分配164

8.3.1 活动记录165

8.3.2 运行时的地址计算167

8.3.3 递归过程的处理167

8.4 堆式动态存储分配168

8.4.1 堆分配方式168

8.4.2 堆式存储管理技术169

习题172

第9章 语义分析和代码生成173

9.1 语义分析的概念173

9.2 中间代码174

9.2.1 波兰后缀表示174

9.2.2 N-元表示175

9.2.3 栈式抽象机及其汇编指令176

9.3 声明的处理178

9.3.1 符号常量178

9.3.2 简单变量179

9.3.3 数组181

9.3.4 过程声明184

9.4 表达式语句184

9.5 if语句189

9.6 while语句191

9.7 for循环语句192

9.8 write_语句194

9.9 read_语句195

9.10 过程调用和返回196

9.10.1 参数的基本传递形式196

9.10.2 过程调用197

9.10.3 过程定义的处理197

9.10.4 返回语句和过程终止语句199

9.11 语义分析及代码生成实现199

9.12 错误处理199

习题200

第10章 代码优化201

10.1 局部优化201

10.1.1 基本块的划分202

10.1.2 基本块的优化技术203

10.1.3 基本块的DAG表示204

10.1.4 基本块优化的实现209

10.2 循环内的优化210

10.2.1 循环结构的定义210

10.2.2 循环的查找211

10.2.3 循环优化的实现212

习题218

附录A TEST语言文法规则219

A.1 TEST语言词法规则219

A.2 TEST的语法规则219

A.3 TEST的语义和代码生成221

附录B 词法分析程序223

B.1 词法分析程序223

B.2 主程序225

附录C 语法分析程序227

C.1 语法分析程序227

C.2 主程序236

附录D 语义及代码生成程序237

D.1 语法、语义及代码生成程序237

D.2 主程序250

附录E TEST抽象机模拟器完整程序251

E.1 TESTmachine函数251

E.2 主程序256

热门推荐