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

  • 购买积分:16 如何计算积分?
  • 作  者:(美)赛巴斯塔(Sebesta.R.W)著;张勤,王方矩译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2008
  • ISBN:7111239512
  • 页数:514 页
图书介绍:本书介绍命令式语言的相关知识。

第1章 基本概念 1

学习程序设计语言原理的缘由 1

程序设计应用领域 3

语言评估标准 4

影响语言设计的因素 13

语言分类 15

语言设计中的权衡 16

实现方法 17

程序设计环境 21

小结*复习题*练习题 22

第2章 主要程序设计语言的发展 24

Zuse的Plankalkül语言 24

最小硬件的程序设计:伪代码 26

IBM 704计算机与Fortran 28

函数式程序设计语言:LISP 32

迈向成熟的第一步:ALGOL60 36

商务记录计算机化:COBOL 40

分时操作的开始:BASIC 44

用途广泛的语言:PL/I 47

两种早期的动态语言:APL和SNOBOL 50

数据抽象的开始:SIMULA67 51

正交性语言的设计:ALGOL 68 52

早期ALGOL系列语言的后代产品 53

基于逻辑的程序设计:Prolog 58

历史上规模最大的语言设计:Ada 59

面向对象的程序设计:Smalltalk 62

结合命令式与面向对象的特性:C++ 64

一种基于命令式的面向对象语言:Java 66

脚本语言:JavaScript、 PHP、Python和Ruby 69

一种基于C的新世纪语言:C 72

标志与程序设计混合式语言 74

小结*文献注释*复习题*练习题*程序设计练习题 76

第3章 描述语法和语义 79

概述 79

描述语法的普遍问题 80

描述语法的形式方法 81

属性文法 91

描述程序的意义:动态语义 95

小结*文献注释*复习题*练习题 108

第4章 词法分析和语法分析 112

概述 112

词法分析 113

语法分析问题 117

递归下降语法分析 119

自底向上语法分析 126

小结*复习题*练习题*程序设计练习题 131

第5章 名字、绑定、类型检测和作用域 135

概述 135

名字 135

变量 137

绑定的概念 139

类型检测 146

强类型化 147

类型等价 148

作用域 151

作用域与生存期 157

引用环境 157

命名常量 159

小结*复习题*练习题*程序设计练习题 160

第6章 数据类型 166

概述 166

基本数据类型 167

字符串类型 169

用户定义的序数类型 173

数组类型 176

关联数组 186

记录类型 189

联合类型 192

指针类型与引用类型 195

小结*文献注释*复习题*练习题*程序设计练习题 204

第7章 表达式与赋值语句 208

概述 208

算术表达式 208

重载操作符 214

类型转换 216

关系表达式和布尔表达式 219

短路求值 221

赋值语句 222

混合模式赋值 225

小结*复习题*练习题*程序设计练习题 226

第8章 语句层次的控制结构 229

概述 229

选择语句 230

循环语句 238

无条件分支 248

守卫的命令 249

结论 252

小结*复习题*练习题*程序设计练习题 253

第9章 子程序 256

概述 256

子程序的基本原理 256

子程序的设计问题 262

局部引用环境 263

参数传递方法 265

子程序名作为参数 280

重载子程序 281

通用子程序 282

函数的设计问题 287

用户定义的重载操作符 288

协同程序 288

小结*复习题*练习题*程序设计练习题 290

第10章 实现子程序 294

调用与返回的一般语义 294

实现“简单”子程序 294

实现具有栈动态局部变量的子程序 296

嵌套子程序 300

块 305

实现动态作用域 306

小结*复习题*练习题 309

第11章 抽象数据类型和封装结构 313

抽象概念 313

数据抽象介绍 314

抽象数据类型的设计问题 315

语言示例 318

有参数的抽象数据类型 328

封装结构 331

命名封装 333

小结*复习题*练习题*程序设计练习题 336

第12章 支持面向对象的程序设计 339

概述 339

面向对象程序设计 339

面向对象语言的设计问题 341

Smalltalk对面向对象程序设计的支持 344

C++对面向对象程序设计的支持 346

Java对面向对象程序设计的支持 354

C#对面向对象程序设计的支持 357

Ada 95对面向对象程序设计的支持 358

Ruby对面向对象程序设计的支持 361

JavaScript的对象模型 364

面向对象结构的实现 366

小结*复习题*练习题*程序设计练习题 368

第13章 并发 372

概述 372

子程序层次并发的介绍 374

信号量 377

管程 380

消息传递 382

Ada对并发的支持 382

Java线程 391

C#线程 397

语句层次的并发 398

小结*文献注释*复习题*练习题*程序设计练习题 400

第14章 异常处理和事件处理 403

异常处理概述 403

Ada中的异常处理 407

C++中的异常处理 412

Java中的异常处理 416

事件处理概述 423

Java的事件处理 424

小结*文献注释*复习题*练习题*程序设计练习题 427

第15章 函数式程序设计语言 431

概述 431

数学函数 431

函数式程序设计语言的基础 433

第一种函数式程序设计语言:LISP 434

Scheme概述 436

COMMON LISP 448

ML 449

Haskell 451

函数式语言的应用 454

函数式语言和命令式语言的比较 455

小结*文献注释*复习题*练习题*程序设计练习题 456

第16章 逻辑程序设计语言 459

概述 459

谓词演算的简短介绍 459

谓词演算与定理证明 462

逻辑程序设计概述 463

Prolog的起源 464

Prolog的基本元素 465

Prolog的缺陷 475

逻辑程序设计的应用 480

小结*文献注释*复习题*练习题*程序设计练习题 481

参考文献 483

索引 493