图书介绍

编译原理及编译程序构造pdf电子书版本下载

编译原理及编译程序构造
  • 高仲仪,金茂忠编 著
  • 出版社: 北京:北京航空航天大学出版社
  • ISBN:7810121863
  • 出版时间:1990
  • 标注页数:444页
  • 文件大小:18MB
  • 文件页数:455页
  • 主题词:编译原理

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 编译程序的前后处理器 9

1.4.1 预处理器 9

1.4.2 汇编程序 10

1.4.3 两遍汇编 10

1.4.4 加载器和连接编辑器 11

1.5 编译技术在软件工程中的应用 11

2.1.1 语法树 14

2.1 文法的非形式讨论 14

第二章 文法和语言的概念和表示 14

2.1.2 规则 15

2.1.3 由规则推导句子 15

2.2 符号、符号串及其集合的运算 18

2.2.1 字母表和符号串 18

2.2.2 符号串及其集合的运算 18

2.3 文法和语言的形式定义 20

2.3.1 文法的形式定义 20

2.3.2 推导的形式定义 21

2.3.3 语言的形式定义 22

2.3.4 递归规则与递归文法 24

2.3.5 短语、简单短语和句柄 25

2.4.1 推导与语法树 27

2.4 语法树和二义性 27

2.4.2 文法的二义性 30

2.5 符号串的分析 35

2.5.1 自顶向下分析 35

2.5.2 自底向上分析 36

2.6 有关文法的实用限制 37

2.7 扩充的BNF表示和语法图 39

2.7.1 扩充的BNF表示 39

2.7.2 语法图 40

2.8 文法和语言分类 41

第三章 词法分析 43

3.1 词法分析程序的功能 43

3.2.1 源程序的输入 44

3.2 源程序的输入与词法分析程序的输出 44

3.2.2 单词符号的种类及词法分析程序的输出形式 45

3.3 正则文法及其状态图 45

3.3.1 状态图 46

3.3.2 状态图的作用 46

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

3.4.1 文法及其状态图 47

3.4.2 词法分析程序的构造 48

3.4.3 词法分析程序的实现 49

3.5 正则文法和正则表达式 52

3.6 有穷自动机(FA) 54

3.6.1 确定的有穷自动机(DFA) 54

3.6.2 不确定的有穷自动机(NFA) 56

3.6.3 NFA的确定化 57

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

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

3.7.1 LEX源程序(LEX的输入文件) 63

3.7.2 LEX的实现 64

第四章 语法分析 69

4.1 自顶向下分析方法 69

4.1.1 带回溯的自顶向下分析算法 69

4.1.2 存在的问题及解决办法 70

4.2 递归下降分析(递归子程序法) 75

4.3 LL(1)分析方法 80

4.3.1 LL(1)分析器的逻辑结构及工作过程 80

4.3.2 LL(1)分析表的构造方法 84

4.4 自底向上分析方法 88

4.5 算符优先分析法 90

4.5.1 方法概述 90

4.5.2 直观算符优先分析法 92

4.5.3 算符优先分析法的进一步讨论 95

4.6 LR分析方法 100

4.6.1 概念和术语 101

4.6.2 LR(0)分析器 104

4.6.3 SLR(1)分析器 109

4.6.4 规范LR(1)分析器 117

4.6.5 LALR(1)分析器 123

第五章 语法制导翻译技术 128

5.1 翻译文法(TG) 128

5.2 语法制导翻译 130

5.3 属性翻译文法(ATG) 131

5.3.1 综合属性 131

5.3.2 继承属性 133

5.3.3 属性翻译文法 134

5.3.4 属性翻译文法举例——算术表达式的翻译 136

5.4 自顶向下语法制导翻译 139

5.4.1 翻译文法的自顶向下处理 139

5.4.2 属性文法的自顶向下翻译 145

5.5 自底向上的语法制导翻译 158

5.5.1 波兰翻译 159

5.5.2 S-属性文法 160

6.2 何时建立和访问符号表 163

6.1 前景和动机 163

第六章 符号表管理技术 163

6.3 符号表内容 165

6.4 在符号表上的操作 167

6.5 非分程序结构语言的符号表组织 169

6.5.1 无序符号表 169

6.5.2 有序符号表 170

6.5.3 散列符号表 171

6.6 分程序结构语言的符号表组织 180

6.6.1 分程序结构语言的概念 180

6.6.2 栈式符号表 182

6.6.3 散列符号表的栈式实现 183

7.1 静态存贮分配 186

第七章 运行时的存贮组织及管理 186

7.2 动态存贮分配 188

7.2.1 活动记录 190

7.2.2 参数区 190

7.2.3 Display区 190

7.2.4 运行时的地址计算 192

7.2.5 递归过程的处理 193

7.3 堆式存贮分配 196

7.3.1 隐式存贮请求 196

7.3.2 显示存贮请求 197

7.3.3 堆式存贮管理技术 198

8.1 波兰表示 205

第八章 源程序的中间形式 205

8.2 N-元表示 206

8.3 抽象语法树 208

8.4 抽象机代码 209

8.4.1 可移植性和抽象机 209

8.4.2 PASCAL的P-code抽象机 210

第九章 错误处理 212

9.1 概述 212

9.2 错误的分类 212

9.3 错误的诊察与报告 213

9.4 错误处理技术 214

9.4.1 错误改正 215

9.4.2 错误局部化处理 215

9.5 遏止重复的错误信息 217

第十章 语义分析和代码生成 219

10.1 语义分析的概念 219

10.2 栈式抽象机及其汇编指令 221

10.3 声明的处理 222

10.3.1 常量类型 223

10.3.2 简单变量 223

10.3.3 数组变量 225

10.3.4 记录变量 226

10.3.5 过程声明 227

10.4 表达式 228

10.5 赋值语句 234

10.6 控制语句 235

10.6.1 if语句 236

10.6.2 分情形语句 237

10.6.3 repeat-while语句 238

10.6.4 for循环语句 239

10.7 过程调用和返回 241

10.7.1 参数的基本传递形式 241

10.7.2 过程调用 242

10.7.3 返回语句和过程终止 246

10.8 输入和输出语句 246

10.8.1 输入语句 246

10.8.2 输出语句 249

10.9 编译程序的辅助功能 249

11.2 基本块 251

11.1 概述 251

第十一章 代码优化 251

11.3 常数合并 252

11.4 冗余子表达式的消除 257

11.5 循环内的优化 265

11.5.1 循环展开 266

11.5.2 频度削弱 269

11.5.3 强度削弱 275

11.5.4 循环优化技术的综合 278

第十二章 与机器有关的优化及目标代码的生成 283

12.1 与机器有关的优化概述 283

12.2.1 单寄存器机器中的寄存器分配 284

12.2 寄存器分配的优化 284

12.2.2 多寄存器机器中的寄存器分配 290

12.3 目标机和目标代码生成 294

12.3.1 PDP-11 295

12.3.2 VAX-11 299

第十三章 编译程序生成方法和工具 305

13.1 编译程序的书写语言 305

13.2 自展 306

13.3 移植 306

13.4 编译程序—编译程序 307

13.4.1 YACC:一个LALR(1)分析器生成器 308

13.4.2 属性LL(1)分析器生成器 313

13.4.3 代码生成器的生成系统 319

14.1 PL/0语言 324

第十四章 PL/0简单编译系统 324

14.2 PL/0编译系统结构 328

14.3 PL/0的词法分析 329

14.4 PL/0的语法分析 330

14.5 出错处理 332

14.6 目标代码的生成和解释执行 333

14.7 PL/0程序编译和运行举例 335

第十五章 Pascal-S编译系统 344

15.1 Pascal-S语言 344

15.2 Pascal-S编译程序的结构 349

15.3 Pascal-S编译程序 353

15.3.1 表格 353

15.3.2 编译初启 358

15.3.3 实用程序 359

15.3.4 词法分析及处理 359

15.3.5 语法分析处理 359

15.3.6 出错处理 364

15.4 Pascal-S解释执行程序 366

15.4.1 P代码指令系统 366

15.4.2 运行栈 368

15.4.3 运行时的display 369

15.4.4 运行出错处理和现场剖析打印 370

15.5 编译及运行的例子 370

参考资料 380

附录A PL/0编译系统源程序清单 383

附录B Pascal-S编译系统源程序清单 395

精品推荐