《程序设计语言原理》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:钱树人编著
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2001
  • ISBN:7040089068
  • 页数:303 页
图书介绍:本书是教育部“高等教育面向21世纪教学内容和课程体系改革计划”的研究成果,是面向21世纪课程教材和教育部高等学校计算机科学与技术“九五”规划教材。 本书从横向的角度对较常见的程序设计语言中的基本概念、基本设施、基本成分、各种风范、设计要求及相关的理论进行多侧面多角度地讨论和分析,使读者掌握程序设计语言的共性和各类语言之间的差异。全书共有十一章:引言、程序设计语言的刻划、词法成分、数据成分及其加工、控制成分、抽象和程序结构、并发、预定义成分和语境、逻辑式程序设计语言、函数式程序设计语言和对象式程序设计语言等内容。本书的结构清晰、层次分明、语言叙述流畅,适合作为高等院校计算机有关专业的教材,也可供从事计算机软件开发工作的技术人员参阅使用。

第一章 引言 1

1.1 程序设计语言的作用 1

1.1.1 程序设计语言在语言层次中的特征 1

1.1.2 程序设计语言在软件描述中的作用 2

1.1.3 程序设计语言的基本功能和分类 3

1.2 程序设计语言的发展动力和发展趋势 5

1.2.1 程序设计语言的发展动力 5

1.2.2 程序设计语言的发展趋势 6

1.2.3 与程序设计语言相关的若干领域 7

1.3 程序设计语言的回顾 8

1.3.1 最早出现的三种著名的程序设计语言 10

1.3.2 几个典型的程序设计语言 12

1.3.3 几个典型的其它风格的程序设计语言 15

1.3.4 第四代程序设计语言 17

1.4 程序设计语言的设计原则和量度 18

1.4.1 满足用户需求的原则 18

1.4.2 程序设计语言的设计原则 18

1.4.3 设计原则的量化——量度和量度体系 20

2.1 程序设计语言文本的描述 26

第二章 程序设计语言的刻划 26

2.2 程序设计语言和形式语言 27

2.2.1 源程序 27

2.2.2 程序设计语言的语法形式描述方法 28

2.2.3 程序设计语言和Chomsky四型文法的关系 31

2.3 程序设计语言的语义刻划 33

2.3.1 操作语义描述法 34

2.3.2 指称语义描述法 38

2.3.3 公理语义描述法 40

2.3.4 代数语义描述法 42

2.4.1 程序设计语言的语用描述 47

2.4 程序设计语言的语用和语境描述 47

2.4.2 程序设计语言的语境描述 48

2.5 程序设计语言的实现 50

2.5.1 转换机制 50

2.5.2 中间语言 51

2.5.3 抽象机系统 52

2.5.4 等价性理解 54

第三章 词法成分 58

3.1 源程序的组成单位 58

3.2.1 编码集 59

3.2.2 通用编码集(ISO 10646)的简单介绍 59

3.2 字符集 59

3.3 词法单位 61

3.4 词牌和词法单位之间的关系 63

第四章 数据成分及其加工 65

4.1 命令式语言和作用式语言的区别 65

4.2 数据的刻划要素 67

4.3 数据的分类 69

4.3.1 Ada中的类型 70

4.3.2 Java中的类型 72

4.3.3 独立于程序设计语言的数据类型(ISO/IEC 11404)的简单介绍 73

4.4 数据类型的等价性分析 83

4.4.1 类型的定义 83

4.4.2 值集 84

4.4.3 类型等价性定义 88

4.4.4 相容性定义 91

4.4.5 类型等价性分析中的某些问题 92

4.5 数据的获取——赋值 94

4.6 数据的加工——表达式 97

4.7 类型的检测和转换 99

4.7.1 强类型 99

4.7.2 类型的检测 100

4.7.3 类型的转换 101

4.8 类型的继承和扩展 102

4.9 类型的参数化 103

4.9.1 Pascal语言的数组参数化 103

4.9.2 Ada语言的类型的约束部分 104

4.9.3 类属子句 106

第五章 控制成分 108

5.1 控制成分的分类 108

5.2 结构化控制语句 109

5.2.1 复合语句 109

5.2.2 条件语句 110

5.2.3 循环语句 112

5.3 出口控制语句 112

5.3.1 强制转移语句(goto语句) 112

5.3.2 强制出口语句(exit语句) 114

5.3.3 强制返回语句(Return语句) 114

5.4 异常处理 115

5.4.1 异常的特征 115

5.4.2 中断条件 115

5.4.3 Ada中的异常机制 120

5.5 子程序 125

5.5.1 子程序界面信息的定义 126

5.5.2 形实参数的对应关系 128

5.5.3 形实参数的传递机制 129

5.6 实时语句 134

5.6.1 Pearl语言的实时功能 135

5.6.2 Ada中的实时特征 142

5.6.3 Real-time Fortran的特征 146

第六章 抽象和程序结构 149

6.1 抽象 149

6.2 模块设计原则 150

6.3 模块实体的定义和使用 152

6.4 模块类型的定义和使用 154

6.5 Ada中的程序包 156

6.6 类属成分 159

6.7 数据的环境特征 162

6.7.1 数据的作用域 163

6.7.2 数据的生存期和可见度 171

6.8 定连 173

第七章 并发 175

7.1 并发概念的重要性 175

7.2.1 Wait-Cause机制 179

7.2 语言中较早的并发措施 179

7.2.2 信号量和PV操作 180

7.2.3 条件临界区 181

7.2.4 管程 183

7.2.5 路径表达式 184

7.3 卫式命令语言 187

7.4 CSP语言 189

7.4.1 通道 189

7.4.2 CSP的语法 190

7.5 Petri网 193

7.6 消息传递 196

7.7 任务和同步 197

7.7.1 任务 197

7.7.2 保护成分 199

7.7.3 任务间通信 201

7.7.4 会合 205

7.7.5 其它特性和SELECT语句 208

第八章 预定义成分和语境 210

8.1 预定义成分 211

8.2 与系统实现者有关的成分 212

8.3 外部成分的引入机制 214

8.4.1 程序包方式提供的输入输出功能——Ada 216

8.4 输入输出成分 216

8.4.2 输入输出格式集中刻划的输入输出功能——Fortran 226

8.4.3 输入输出格式在数据的说明中给出——COBOL 230

8.4.4 输入输出格式紧密结合的方法——Pascal 233

第九章 逻辑式程序设计语言 234

9.1 Horn子句 234

9.2 逻辑程序设计的运行基础 237

9.2.1 指派 237

9.2.2 消解原理 237

9.2.3 归结和反演 240

9.3 逻辑程序的抽象解释 242

9.4 逻辑程序设计的特征 246

9.5 逻辑程序的顺序执行机制 247

9.6 逻辑程序的并行执行机制 250

9.7 并行逻辑程序设计语言PARLOC 252

第十章 函数式程序设计语言 255

10.1 函数式程序设计的基本特征 255

10.2 Lisp语言 258

10.3 FP语言 268

10.3.1 FP语言 268

10.4 ML语言 274

10.4.1 SML的类型 275

10.4.2 SML的函数 278

10.4.3 SML函数中的几个定义 280

10.4.4 SML抽象数据类型和模块设施 283

第十一章 对象式程序设计语言 286

11.1 对象式程序设计的基本特征 286

11.2 对象式程序设计语言中的几个主要概念 287

11.2.1 对象 287

11.2.2 类 288

11.2.3 继承 289

11.2.4 多态 292

11.2.5 动态定连 292

11.3 对象式程序设计语言例 293

11.3.1 SIMULA 293

11.3.2 SMALLTALK 295

11.3.3 C++ 296

11.3.4 EIFFEL 297

11.3.5 JAVA 298

11.3.6 Ada 300

参考文献 301