图书介绍

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

编译原理
  • 周经野,张继福主编 著
  • 出版社: 武汉:武汉理工大学出版社
  • ISBN:7562919615
  • 出版时间:2003
  • 标注页数:363页
  • 文件大小:17MB
  • 文件页数:377页
  • 主题词:编译程序(学科: 高等学校) 编译程序

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

1.2编译的过程和编译程序结构3

1.3编译阶段的组合5

1.4编译技术在软件工具中的应用6

2文法和语言9

2.1文法的非形式化描述9

2.2符号、符号串及其运算11

2.3.1文法的形式化定义13

2.3文法和语言的形式化定义13

2.3.2推导的形式化定义14

2.3.3语言的形式化定义17

2.3.4语法树19

2.4文法和语言的类型21

思考题与习题23

3词法分析25

3.1词法分析概述25

3.2单词的描述工具27

3.2.1正规文法28

3.2.2正规表达式29

3.3有限自动机(DFA)32

3.3.1确定的有限自动机(DFA)35

3.3.2不确定的有限自动机(NFA)36

3.3.3 NFA的确定化38

3.3.4 DFA的最小化42

3.4正规文法、正规式和有限自动机之间的等价转换45

3.4.1正规文法与正规式45

3.4.2正规文法与有限自动机49

3.4.3正规式与有限自动机51

3.5词法分析程序的自动生成56

3.5.1 LEX源文件的结构59

3.5.2 LEX系统中的正规式62

3.5.3 LEX翻译程序简介66

3.5.4 LEX的使用方式67

3.5.5 LEX应用举例68

思考题与习题72

4 自顶向下的语法分析75

4.1 自顶向下的语法分析思想76

4.1.1确定的自顶向下分析77

4.1.2不确定的自顶向下分析83

4.2 LL(1)文法86

4.2.1 LL(1)文法的判别86

4.2.2某些非LL(1)到LL(1)文法的等价转换93

4.3预测分析方法100

4.3.1预测分析程序的工作流程101

4.3.2预测分析表的构造104

4.3.3预测分析方法举例104

思考题与习题109

5 自底向上的语法分析113

5.1 自底向上的分析方法简介113

5.1.1算符优先分析法114

5.1.2 LR分析法116

5.2算符优先分析方法119

5.2.1算符优先文法的定义119

5.2.2构造算符优先关系表122

5.2.3算符优先分析算法125

5.2.4优先函数127

5.2.5算符优先分析方法的讨论129

5.3 LR分析方法130

5.3.1 LR(0)分析器130

5.3.2 SLR(1)分析器138

5.3.3 LR(1)分析器140

5.3.4 LALR(1)分析器144

5.3.5 LR分析方法的讨论147

思考题与习题149

6属性文法与语法制导翻译技术151

6.1属性文法152

6.1.1继承属性和综合属性154

6.1.2属性翻译文法158

6.2语法制导翻译技术161

6.2.1 自顶向下的语法制导翻译162

6.2.2自底向上的语法制导翻译167

思考题与习题174

7语义分析和中间代码生成176

7.1中间代码176

7.1.1逆波兰记号176

7.1.2三元式178

7.1.3四元式179

7.2赋值语句与算术表达式的翻译180

7.3布尔表达式的翻译184

7.4控制结构的翻译188

7.4.1条件语句188

7.4.2循环语句190

7.4.3过程调用193

7.5说明语句的翻译194

7.5.1数组说明的翻译195

7.5.2结构说明的翻译197

7.6数组元素访问的翻译199

思考题与习题203

8符号表207

8.1符号表概述207

8.2符号表的组织208

8.2.1符号表的一般形式208

8.2.2符号表的名字栏209

8.2.3符号表的信息栏210

8.2.4符号表中的数据211

8.3符号表的管理212

8.3.1符号表的初始化212

8.3.2符号表的编制与查找212

8.3.3名字作用域信息的表示219

思考题与习题221

9 目标程序运行时存储空间组织223

9.1概述223

9.1.1存储空间的一般组织223

9.1.2过程和过程的活动记录225

9.1.3名字和名字的作用域227

9.2数据对象的存储分配228

9.2.1基本数据对象的存储分配229

9.2.2数组的存储分配229

9.2.3记录结构的存储分配232

9.3.1名字调用233

9.3参数传递233

9.3.2引用调用234

9.3.3值调用235

9.3.4结果调用235

9.4静态存储分配235

9.5栈式存储分配237

9.5.1简单栈式存储分配238

9.5.2嵌套过程的栈式存储分配240

9.5.3分程序结构的栈式存储分配243

9.6堆式存储分配247

思考题与习题250

10代码优化253

10.1代码优化技术概述254

10.1.1删除公共子表达式(删除多余运算)255

10.1.2代码外提255

10.1.3强度削弱256

10.1.4变换循环控制条件(删除归纳变量)257

10.1.5合并已知变量257

10.1.6复写传播257

10.1.7删除无用赋值258

10.2局部优化259

10.2.1基本块的划分和变换259

10.2.2基本块的DAG表示和应用261

10.3循环优化270

10.3.1程序流图270

10.3.2循环272

10.3.3可归约流图279

10.3.4循环优化方法280

10.4全局优化概述284

10.4.1“到达-定值”数据流方程285

10.4.2活跃变量数据流方程的推导290

思考题与习题293

11 目标代码生成298

11.1概述298

11.1.1代码生成器的输入和输出299

11.1.2指令的选择300

11.1.3寄存器分配301

11.1.4计算顺序的选择301

11.2计算机模型301

11.3代码生成器304

11.3.1待用信息305

11.3.2寄存器分配307

11.3.3代码生成算法311

思考题与习题321

12并行编译技术基础324

12.1.1向量计算机325

12.1并行计算机325

12.1.2共享存储器多处理机326

12.1.3分布式存储器大规模并行计算机328

12.2并行编译器的结构329

12.2.1程序分析330

12.2.2程序优化330

12.2.3并行代码生成331

12.3依赖关系331

12.3.1依赖关系的定义332

12.3.2语句依赖图336

12.3.3循环的迭代依赖图337

12.4.1可向量化循环344

12.4循环的向量化和并行化344

12.4.2可并行化循环347

12.5循环的变换技术348

12.5.1语句重排(Statement Reordering)349

12.5.2循环置换(Loop Permutation)350

12.5.3循环逆转(Loop Reversal)352

12.5.4圈收缩(Cycle Shrinking)353

12.5.5循环分布(Loop Distribution)354

思考题与习题358

参考文献363

热门推荐