《系统软件》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:(日)黑住祥佑,(日)林恒俊著;冯杰,樊东译
  • 出 版 社:北京:科学出版社
  • 出版年份:2003
  • ISBN:7030106946
  • 页数:184 页
图书介绍:本书以基本系统软件中的语言处理程序为中心,主要介绍了程序的概念和方法、编译技术及连接程序。对具体的技术方法和实例在各章的重要部分作出了详细解说,并且对首次出现的术语都以通俗易懂的语言加以说明。

第1章 系统软件、编译程序及汇编程序 1

1.1 系统软件的集合 1

1.2 高级程序设计语言、编译程序及汇编程序的作用 2

1.3 高级程序设计语言的语法与源程序 4

1.4 目标程序与机器语言程序 5

1.5 编译程序与汇编程序的技术方法 7

1.6 编译程序和汇编程序的开发 9

1.7 汇编语言的特点和魅力 9

1.8 所有程序都需要的连接程序和装入程序 10

1.9 程序库和软件开发 11

1.10 本书的构成和学习方法 12

练习题 13

第2章 高级程序设计语言的定义 15

2.1 高级程序设计语言定义所需要的条件 15

2.2 单词定义 16

2.2.1 正规表达式 17

2.2.2 正规表达式的实例 18

2.3 表达式、语句、控制结构和程序单位 18

2.3.1 巴克斯-诺尔形式 18

2.3.2 语法图 19

2.4 语义定义 21

练习题 22

3.1 词法分析的位置 23

第3章 词法分析 23

3.2 有限状态自动机 24

3.3 词法分析程序的自动生成 27

3.4 手工编制编译程序的情况 28

练习题 30

第4章 语法分析的原理 31

4.1 形式语法定义 31

4.1.1 文法 31

4.1.2 推导和归约 32

4.1.3 语言 32

4.1.4 文法的分类 33

4.1.5 文法的例子 33

4.1.6 推导过程和语法分析树 34

4.1.7 二义文法 35

4.2 语法分析的原理 36

4.2.1 自上而下语法分析法和自下而上语法分析法 37

4.2.2 回溯 37

4.2.3 语句扫描 37

练习题 39

第5章 自上而下语法分析的技术方法 41

5.1 自上而下语法分析方法 41

5.1.1 左递归及其消除 41

5.1.2 LL 语法分析的技术方法 42

5.1.3 自上而下语法分析表 43

5.1.4 语法分析的执行实例 44

5.1.5 语法分析表的组成 45

5.2 递归自上而下语法分析的技术方法 46

练习题 49

第6章 自下而上语法分析的技术方法 51

6.1 自下而上语法分析方法 51

6.2 算符优先分析法的技术方法 52

6.2.1 语法分析的优先顺序 52

6.2.2 算符优先分析法语法分析表的组成 54

6.2.3 算符优先顺序函数 54

6.3 LR 分析的技术方法 55

6.3.1 LR 分析方法的操作 55

6.3.2 LR 分析法的执行实例 57

6.4 语法分析程序的自动生成 58

练习题 59

第7章 语法分析的后续处理 61

7.1 面向语法的语言处理 61

7.1.1 属性文法 61

7.1.2 属性文法的实例 62

7.1.3 语义处理过程 63

7.2 语法分析的输出 66

7.2.1 语法分析树(程序树·抽象程序) 66

7.2.2 逆波兰表示法 67

7.2.3 逆波兰表示法的计值算法 68

7.2.4 四元式和三元式 69

7.2.5 中间输出的相互转换 69

练习题 71

第8章 目标程序 73

8.1 目标程序的运行环境 73

8.1.1 高级程序设计语言的运行模型 74

8.1.2 高级程序设计语言的技术性能指标 74

8.1.3 递归调用 75

8.1.4 过程的嵌入子结构 76

8.1.5 动态局部变量 78

8.1.6 过程参数 78

8.2 运行时堆栈 79

8.2.1 堆栈的组成 80

8.2.2 区头向量 81

8.2.3 静态连接 82

8.3 运行时程序库 83

8.3.1 高级程序设计语言的输入输出控制技术性能指标 83

8.3.2 操作系统的输入输出控制 84

8.3.3 运行时程序库 84

8.4 调用顺序 85

8.5 中间语言解释程序方式 85

练习题 86

第9章 代码生成 89

9.1 代码生成功能 89

9.2 标识符表 91

9.2.1 标识符表的元素 91

9.3 变量的分配 92

9.2.3 杂凑法 92

9.2.2 线性表 92

9.4 数据类型变换和下标表达式 94

9.4.1 数据类型的自动转换 94

9.4.2 运算符的多重定义 95

9.4.3 数据类型的一致性检查 95

9.5 语句和算术表达式的代码生成 96

9.5.1 代码生成的原理 96

9.5.2 代码生成的技术方法 97

9.6 代码生成的实例 99

9.6.1 指令语言的体系结构 99

9.6.2 运算模式的组成 100

9.6.4 代码实例-2 102

9.6.3 代码实例-1 102

9.6.5 代码实例-3 103

9.6.6 通用寄存器的体系结构 104

9.6.7 逻辑表达式的代码生成 105

9.7 控制结构的代码 106

9.7.1 条件判断 106

9.7.2 循环 107

9.7.3 代码生成和最优化处理 107

9.8 代码改善 108

9.8.1 局部的改善 108

9.8.2 公共子表达式 109

9.8.4 全局优化 110

9.8.3 窥视孔优化 110

练习题 111

第10章 汇编程序 113

10.1 汇编程序的必要性 113

10.2 汇编程序的种类 116

10.2.1 基本汇编程序 116

10.2.2 直接插入汇编程序 118

10.2.3 宏指令汇编程序 119

10.2.4 封闭汇编程序 120

10.3 汇编程序的功能和模型计算机 121

10.3.1 汇编程序的功能 121

10.3.2 模型计算机和汇编程序 122

10.3.3 模型计算机的寄存器组成和机器语言指令 123

练习题 125

第11章 汇编语言程序 127

11.1 汇编语言程序的编制方法 127

11.1.1 语句 127

11.1.2 汇编语言程序 128

11.1.3 过程 130

11.1.4 数据定义和存储区域定义 131

11.2 汇编语言程序的具体实例及其应用 132

11.2.1 几个简单的汇编语言程序 132

11.2.2 宏指令 135

11.2.3 扩展功能和汇编程序控制功能 136

11.3.1 汇编程序的处理 138

11.3 汇编程序的处理过程 138

11.3.3 标号表生成 139

11.3.4 指令表引用 139

11.3.2 语法分析 139

11.3.5 符号地址表生成 141

11.3.6 代码生成 142

11.3.7 汇编语言程序的高速化处理 143

练习题 145

第12章 连接程序和装入程序 147

12.1 连接程序的功能 147

12.1.1 连接和引用关系的解决方法 147

12.1.2 可增连接程序 148

12.2.1 目标文件的组成 149

12.2 连接程序的处理 149

12.2.2 程序的连接 150

12.2.3 外部名表和外部引用名表 151

12.2.4 引用关系的解决 152

12.3 连接程序的种类 154

12.3.1 静态连接 154

12.3.2 覆盖连接 155

12.3.3 动态连接 155

12.4 装入程序 156

12.4.1 可执行文件的组成 156

12.4.2 装入程序的作用和结构 157

12.4.3 装入 158

12.4.4 执行控制 159

练习题 161

第13章 程序库 163

13.1 程序库的定义 163

13.1.1 基本程序库 163

13.1.2 应用程序库 164

13.2 程序库的种类 165

13.2.1 基本输入输出系统 165

13.2.2 数学函数和子程序 166

13.2.3 宏汇编和隐含程序库 166

13.2.4 图形程序库 167

13.2.6 程序库类 168

13.2.5 图像用户接口 168

13.3 程序库的程序属性 170

13.3.1 程序库的同时使用 170

13.3.2 可重入属性 171

13.3.3 可重复使用属性 171

13.4 程序库的生成 172

13.4.1 隐含文件 172

13.4.2 随机程序库(静态连接程序库) 172

13.4.3 动态连接程序库 173

练习题 175

练习题简答 177

参考文献 183