图书介绍

程序设计语言 设计与实现 第3版 英文版PDF|Epub|txt|kindle电子书版本下载

程序设计语言 设计与实现 第3版 英文版
  • (美)(T.W.普拉特)TerrenceW.Pratt,(美)(M.V.泽尔柯维茨)MarvinV.Zelkowitz著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7302028338
  • 出版时间:1998
  • 标注页数:656页
  • 文件大小:23MB
  • 文件页数:673页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

程序设计语言 设计与实现 第3版 英文版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

PartⅠConcepts1

1 The Study of Programming Languages2

1.1 Why Study Programming Languages?2

1.2 A Short History of Programming Languages5

1.2.1 Development of Early Languages5

1.2.2 Role of Programming Languages9

1.3 What Makes a Good Language?12

1.3.1 Attributes of a Good Language12

1.3.2 Application Domains16

1.3.3 I anguage Standardization19

1.4 Effects of Environments on Languages23

1.4.1 Batch-Processing Environments23

1.4.2 Interactive Environments24

1.4.3 Embedded System Environments25

1.4.4 Programming Environments26

1.5 Suggestions for Further Reading30

1.4.5 Environment Frameworks30

1.6 Problems31

2 Language Design Issues33

2.1 The Structure and Operation of a Computer33

2.1.1 The Hardware of the Computer35

2.1.2 Firmware Computers39

2.1.3 Translators and Software-Simulated Computers41

2.2 Virtual Computers and Binding Times45

2.2.1 Syntax and Semantics46

2.2.2 Virtual Computers and Language Implementations47

2.2.3 Hierarchies of Computers48

2.2.4 Binding and Binding Time50

2.3 Language Paradigms55

2.4 Suggestions for Further Reading59

2.5 Problems59

3.1 Programming Language Syntax61

3 Language Translation Issues61

3.1.1 General Syntactic Criteria62

3.1.2 Syntactic Elements of a Language66

3.1.3 Overall Program-Subprogram Structure69

3.2 Stages in Translation72

3.2.1 Analysis of the Source Program74

3.2.2 Synthesis of the Object Program77

3.3 Formal Translation Models79

3.3.1 BNF Grammars80

3.3.2 Finite-State Automata89

3.3.3 Pushdown Automata93

3.3.4 Efficient Parsing Algorithms95

3.3.5 Semantic Modeling98

3.4 Suggestions for Further Reading102

3.5 Problems103

4.1.1 Data Objects, Variables, and Constants107

4.1 Properties of Types and Objects107

4 Data Types107

4.1.2 Data Types112

4.1.3 Specification of Elementary Data Types113

4.1.4 Implementation of Elementary Data Types117

4.1.5 Declarations119

4.1.6 Type Checking and Type Conversion121

4.1.7 Assignment and Initialization127

4.2.1 Numeric Data Types130

4.2 Elementary Data Types130

4.2.2 Enumerations137

4.2.3 Booleans139

4.2.4 Characters140

4.2.5 Internationalization141

4.3 Structured Data Types142

4.3.1 Structured Data Objects and Data Types142

4.3.2 Specification of Data Structure Types143

4.3.3 Implementation of Data Structure Types145

4.3.4 Declarations and Type Checking for Data Structures149

4.3.5 Vectors and Arrays151

4.3.6 Records160

4.3.7 Lists167

4.3.8 Character Strings172

4.3.9 Pointers and Programmer-Constructed Data Objects175

4.3.10 Sets178

4.3.11 Executable Data Objects181

4.3.12 Files and Input-Output181

4.4 Suggestions for Further Reading187

4.5 Problems187

5 Abstraction I: Encapsulation195

5.1 Abstract Data Types196

5.1.1 Evolution of the Data Type Concept197

5.1.2 Information Hiding198

5.2.1 Subprograms as Abstract Operations200

5.2 Encapsulation by Subprograms200

5.2.2 Subprogram Definition and Invocation203

5.2.3 Subprogram Definitions as Data Objects208

5.3 Type Definitions209

5.3.1 Type Equivalence211

5.3.2 Type Definitions with Parameters215

5.4 Storage Management216

5.4.1 Major Run-Time Elements Requiring Storage217

5.4.2 Programmer-and System-Controlled Storage Management219

5.4.3 Static Storage Management220

5.4.4 Stack-Based Storage Management221

5.4.5 Heap Storage Management: Fixed-Size Elements223

5.4.6 Heap Storage Management: Variable-Size Elements231

5.5 Suggestions for Further Reading234

5.6 Problems234

6 Sequence Control238

6.1 Implicit and Explicit Sequence Control238

6.2 Sequencing with Arithmetic Expressions239

6.2.1 Tree-Structure Representation240

6.2.2 Execution-Time Representation248

6.3 Sequencing with Nonarithmetic Expressions253

6.3.1 Pattern Matching253

6.3.2 Unification257

6.3.3 Backtracking263

6.4 Sequence Control Between Statements264

6.4.1 Basic Statements264

6.4.2 Structured Sequence Control270

6.4.3 Prime Programs279

6.5 Suggestions for Further Reading284

6.6 Problems284

7 Subprogram Control286

7.1 Subprogram Sequence Control286

7.1.1 Simple Call-Return Subprograms288

7.1.2 Recursive Subprograms292

7.2 Attributes of Data Control294

7.2.1 Names and Referencing Environments295

7.2.2 Static and Dynamic Scope300

7.2.3 Block Structure303

7.2.4 Local Data and Local Referencing Environments305

7.3 Shared Data in Subprograms311

7.3.1 Parameters and parameter Transmission312

7.3.2 Explicit Common Environments330

7.3.3 Dynamic Scope333

7.3.4 Static Scope and Block Stucture337

7.4 Suggestions for Further Reading344

7.5 Problems345

8 Abstraction Ⅱ: Inheritance350

8.1 Abstract Data Types Revisited351

8.2 Inheritance358

8.2.1 Derived Classes359

8.2.2 Methods362

8.2.3 Abstract Classes364

8.2.4 Objects and Messages366

8.2.5 Abstraction Concepts370

8.3 Polymorphism372

8.4 Suggestions for Further Reading373

8.5 Problems374

9 Advances in Language Design375

9.1 Variations on Subprogram Control377

9.1.1 Exceptions and Exceptions Handlers377

9.1.2 Coroutines382

9.1.3 Scheduled Subprograms383

9.1.4 Nonsequential Execution385

9.2 Parallel Programming385

9.2.1 Concurrent Execution387

9.2.2 Guarded Commands388

9.2.3 Tasks391

9.2.4 Synchronization of Tasks393

9.3 Formal Properties of Languages404

9.3.1 Chomsky Hierarchy405

9.3.2 Undecidability408

9.3.3 Algorithm Complexity413

9.4 Language Semantics416

9.4.1 Denotational Semantics416

9.4.2 Program Verification423

9.4.3 Algebraic Data Types428

9.4.4 Resolution431

9.5 Hardware Developments433

9.5.1 Processor Design433

9.5.2 System Design436

9.6 Software Architecture438

9.6.1 Persistent Data and Transaction Systems438

9.6.2 Networks and Client/Server Computing440

9.6.3 Desktop Publishing441

9.7 Suggestions for Further Reading444

9.6.4 Programming Language Trends444

9.8 Problems445

PartⅡ Paradigms and Languages449

10 Simple Procedural Languages451

10.1 FORTRAN451

10.1.1 History452

10.1.2 Hello World452

10.1.3 Brief Overview of the Language453

10.1.4 Data Objects457

10.1.5 Sequence Control462

10.1.6 Subprograms and Storage Management468

10.1.7 Abstraction and Encapsulation470

10.1.8 Language Evaluation471

10.2 C471

10.2.2 Hello World472

10.2.3 Brief Overview of the Language472

10.2.1 History472

10.2.4 Data Objects477

10.2.5 Sequence Control482

10.2.6 Subprograms and Storage Management485

10.2.7 Abstraction and Encapsulation489

10.2.8 Language Evaluation489

10.3 Suggestions for Further Reading490

10.4 Problems490

11 Block-Structured Procedural Languages492

11.1 Pascal492

11.1.1 History493

11.1.2 Hello World494

11.1.3 Brief Overview of the Language494

11.1.4 Data Objects498

11.1.5 Sequence Control505

11.1.6 Subprograms and Storage Management509

11.1.8 Language Evaluation516

11.1.7 Abstraction and Encapsulation516

11.2 Suggestions for Further Reading518

11.3 Problems518

12 Object-Based Languages520

12.1 Ada520

12.1.1 History520

12.1.2 Hello World522

12.1.3 Brief Overview of the Language522

12.1.4 Data Objects527

12.1.5 Sequence Control536

12.1.6 Subprograms and Storage Management540

12.1.7 Abstraction and Encapsulation547

12.1.8 Language Evaluation549

12.2 C++550

12.2.1 History550

12.2.3 Brief Overview of the Language551

12.2.2 Hello World551

12.2.4 Data Objects556

12.2.5 Sequence Control561

12.2.6 Subprograms and Storage Management562

12.2.7 Abstraction and Encapsulation564

12.2.8 Language Evaluation564

12.3 Smalltalk565

12.3.1 History565

12.3.3 Brief Overview of the Language566

12.3.2 Hello World566

12.3.4 Data Objects570

12.3.5 Sequence Control572

12.3.6 Subprograms and Storage Management574

12.3.7 Abstraction and Encapsulation577

12.3.8 Language Evaluation577

12.4 Suggestions for Further Reading578

12.5 Problems579

13.1 LISP581

13 Functional Languages581

13.1.2 Hello World582

13.1.1 History582

13.1.3 Brief Overview of the Language583

13.1.4 Data Objects587

13.1.5 Sequence Control589

13.1.6 Subprograms and Storage Management593

13.1.7 Abstraction and Encapsulation599

13.1.8 Language Evaluation599

13.2.2 Hello World600

13.2 ML600

13.2.1 History600

13.2.3 Brief Overview of the Language601

13.2.4 Data Objects603

13.2.5 Sequence Control607

13.2.6 Subprograms and Storage Management611

13.2.7 Abstraction and Encapsulation613

13.3 Suggestions for Further Reading616

13.2.8 Language Evaluation616

13.4 Problems617

14 Logic Programming Languages620

14.1 Prolog620

14.1.1 History621

14.1.2 Hello World621

14.1.3 Brief Overview of the Language622

14.1.4 Data Objects625

14.1.5 Sequence Control626

14.1.6 Subprograms and Storage Management628

14.1.7 Abstraction and Encapsulation629

14.1.8 Language Evaluation630

14.2 Suggestions for Further Reading630

14.3 Problems630

References632

Index641

热门推荐