当前位置:首页 > 工业技术
编译设计与开发技术
编译设计与开发技术

编译设计与开发技术PDF电子书下载

工业技术

  • 电子书积分:10 积分如何计算积分?
  • 作 者:斯传根编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2003
  • ISBN:7302074976
  • 页数:243 页
图书介绍:本书前5章讲述了与编译相关的文法和形式语言的基本理论;6章至11章以语言PL/0为例,系统介绍了一个编译程序从语法定义、词法分析、语法分析、出错处理、代码生成及解释执行的全过程;第13章包含一个精心编写的课程设计。
《编译设计与开发技术》目录

第1章 引论 1

1.1 什么是编译程序 1

1.2 编译过程概述 2

1.3 编译程序的结构 4

1.4 为什么要学习编译技术 6

1.5 习题 7

第2章 形式语言基本知识 9

2.1 形式语言的特征 9

2.2 一个形式语言例子 11

2.3 形式语言的归纳定义 12

2.4 文法的分类 14

2.4.1 0型文法 14

2.4.2 1型文法(上下文有关文法) 14

2.4.3 2型文法(上下文无关文法) 15

2.4.4 3型文法(正则文法) 15

2.4.5 文法的类型决定了语言的类型 15

2.5 语法树与文法的二义性 16

2.5.1 什么是文法的二义性 16

2.5.2 修改二义性文法 17

2.5.3 计算机语言文法中的二义性问题 17

2.5.4 EBNF描述符 18

2.6 习题 20

第3章 语句分析 23

3.1 语句分析概述 23

3.2 自顶向下分析 24

3.3 自底向上分析 25

3.4 简单辨认算法 26

3.5 对文法的限制规则1 27

3.6 对文法的限制规则2 29

3.7 如何构造等价的LL(1)文法 30

3.8 习题 30

4.1 从EBNF表示式到语法图的转换 33

第4章 语法图 33

4.2 语法图转换实例 34

4.3 从语法图判别两条限制规则 35

4.4 习题 36

第5章 给定语法的语法分析程序构造 39

5.1 给定语法的语法分析程序的主程序 39

5.2 从语法图到语法分析程序的转换法则 40

5.3 给定语法的语法分析程序构造实例 42

5.3.1 语法分析程序构造实例 42

5.3.2 SI-NS图形式的语法分析程序构造实例 44

5.3.3 语法分析程序的编译和执行示例 45

5.4 习题 48

第6章 程序设计语言PL/0 51

6.1 PL/0语言概述 51

6.1.1 PL/0语言的功能 51

6.1.2 一个PL/0程序实例 52

6.2 EBNF定义的PL/0语法 53

6.3 PL/0语法图 54

6.4 判别是否符合两条限制规则 56

6.5 习题 58

7.1 词法分析程序的任务 59

第7章 PL/0语言的词法分析程序构造 59

7.2 词法分析程序的设计 60

7.2.1 过程getch 61

7.2.2 处理保留字和标识符 62

7.2.3 处理常数 62

7.2.4 处理组合字符和单个字符 63

7.3 习题 63

第8章 PL/0语言的语法分析程序构造 67

8.1 由语法图到过程调用相关图 67

8.2 从相关图到程序的总体结构 68

8.3 写出每一个语法分析子程序 69

8.4 语法分析程序的扩充 78

8.4.1 建立符号表与主程序的扩充 79

8.4.2 建立error子程序过程和出错信息表 80

8.4.3 标识符的处理与程序的扩充 81

8.5 PL/0语法分析程序及其执行 83

8.5.1 PL/0语法分析文本程序 83

8.5.2 PL/0语法分析程序的SI-NS图 89

8.5.3 PL/0语法分析程序的执行 95

8.6 习题 98

9.1 语法出错处理概论 101

第9章 语法出错处理 101

9.2 常见错误的分析处理 103

9.2.1 修改语法分析程序 103

9.2.2 修改语法定义 105

9.3 不可预料错误的处理 106

9.3.1 采取的策略和相应的措施 106

9.3.2 出错处理分析举例 107

9.4 PL/0语法出错处理程序及其执行 108

9.4.1 具有出错处理的PL/0语法分析程序program5 108

9.4.2 具有出错处理的PL/0语法分析程序SI-NS图 115

9.4.3 语法出错处理程序执行实例 123

9.5 习题 126

第10章 目标计算机及其解释程序 129

10.1 目标计算机的组织结构和指令格式 130

10.1.1 目标计算机的组织结构 130

10.1.2 目标计算机的指令和指令格式 132

10.2 数据存储器的动态存储管理 133

10.2.1 数据动态存储分析 133

10.2.2 程序静态级别和动态存储分配 134

10.2.3 数据动态存储采取的技术措施 136

10.3 目标计算机指令系统及其解释 136

10.4.1 PL/O目标程序的解释程序 138

10.4 解释程序interpret及其执行 138

10.4.2 解释程序执行实例 139

10.4.3 在interpret的SI-NS图上执行解释程序 140

10.5 习题 142

第11章 语义分析与代码生成 143

11.1 table数组和enter过程的扩充 143

11.1.1 table数组的扩充 144

11.1.2 enter过程的扩充 144

11.3 表达式、项、因子及关系式的翻译 145

11.3.1 后缀式处理的规则 145

11.2 命令代码生成过程gen 145

11.3.2 后缀式翻译在代码生成中的实现 146

11.3.3 对表达式和关系式翻译举例 149

11.4 语句的翻译 150

11.4.1 语句翻译处理规则 150

11.4.2 语句翻译在程序扩充中的实现 151

11.4.3 语句翻译举例 153

11.5 生成PL/0目标代码程序 155

11.5.1 在计算机上执行program6生成代码程序 156

11.5.2 在SI-NS图上执行program6生成代码程序 157

11.5.3 掌握代码生成算法,直接翻译写出代码程序 162

11.6 program6程序文本 163

11.7 习题 175

第12章 T形图与编译开发移植技术 179

12.1 T形图 179

12.1.1 程序在计算机上执行的表示 179

12.1.2 编译程序的表示 179

12.1.3 编译和执行过程的表示 180

12.1.4 多级编译过程的表示 180

12.1.5 解释执行过程的表示 180

12.2 编译程序开发的自展技术 181

12.4 编译程序的移植技术 182

12.3 编译程序改进的自展技术 182

12.4.1 在M1机器上进行从M1到M2的移植 183

12.4.2 在M2机器上进行从M1到M2的移植 183

12.4.3 用虚拟机H进行从M1到M2的移植 184

12.5 习题 184

第13章 课程设计 187

13.1 PL/x语法定义 187

13.2 统一符号 188

13.3.1 阶段一要求 189

13.3 课程设计要求 189

13.3.2 阶段一检查 190

13.3.3 阶段二要求 190

13.3.4 阶段二检查 190

附录 191

附录A PL/0编译程序SI-NS图 191

附录B 有关SI-NS图 203

B.1 读起来比程序容易理解百倍的SI-NS图 203

B.2 程序图形化表示方法 206

B.2.1 现有文本式语言程序的弊端 206

B.2.2 “程序图形化表示”是世界上都在致力研究的一项技术 206

B.2.4 比较PAD、CSD、NS与SI-NS图 207

B.2.3 作者提出了具有优势的SI-NS图 207

B.2.5 SI-NS图技术在长期的软件开发和教学实践中得到了验证 212

附录C 表格控制的通用语法分析程序构造 212

C.1 语法图表示成表格数据结构 213

C.2 表格控制的语法分析程序 215

C.3 通用语法分析程序的实施步骤 216

C.3.1 用EBNF定义EBNF语法 216

C.3.2 为EBNF语法设计一个语法分析程序 217

C.3.3 将语法分析程序扩充为能产生语法分析表格的翻译程序 219

C.3.4 将翻译程序与前一节的表格控制语法分析程序组合在一起 220

C.4 习题 227

附录D 并行多进程语言的扩充 228

附录E 集合与符号串 233

E.1 集合 233

E.1.1 集合的基本概念 233

E.1.2 集合间的关系 234

E.1.3 集合的运算 235

E.1.4 幂集 236

E.1.5 笛卡儿乘积 236

E.2 符号串 238

E.3 习题 239

附录F PASCAL语法图 240

参考文献 243

相关图书
作者其它书籍
返回顶部