《程序设计语言 设计与实现 第3版 英文版》求取 ⇩

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

1998《程序设计语言 设计与实现 第3版 英文版》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由(美)(T.W.普拉特)TerrenceW.Pratt,(美 1998 北京:清华大学出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

程序设计语言  设计与实现  第3版(1998 PDF版)
程序设计语言 设计与实现 第3版
1998 北京:电子工业出版社
程序设计与c语言  题解·上机·实验  第3版( PDF版)
程序设计与c语言 题解·上机·实验 第3版
visualbasic2010程序设计教程第8版英文版( PDF版)
visualbasic2010程序设计教程第8版英文版
最新C语言程序设计教程(第2版)( PDF版)
最新C语言程序设计教程(第2版)
华中科技大学出版社
COBOL 语言与程序设计实践(1981年12月第1版 PDF版)
COBOL 语言与程序设计实践
1981年12月第1版 上海科学技术文献出版社
高级语言C++程序设计 第2版(1999 PDF版)
高级语言C++程序设计 第2版
1999 北京:高等教育出版社
Programming languages design and implementation = 程序设计语言 设计与实现(第3版)(1998 PDF版)
Programming languages design and implementation = 程序设计语言 设计与实现(第3版)
1998 清华大学出版社
程序设计语言(1984 PDF版)
程序设计语言
1984 北京:高等教育出版社
C语言与程序设计(1997 PDF版)
C语言与程序设计
1997 天津:天津科学技术出版社
Java语言与程序设计(1997 PDF版)
Java语言与程序设计
1997 北京:人民邮电出版社
PASCAL语言程序设计  第2版(1998 PDF版)
PASCAL语言程序设计 第2版
1998 北京:中国科学技术出版社
程序设计语言(1994 PDF版)
程序设计语言
1994 天津:南开大学出版社
实用BASIC语言程序设计(1992 PDF版)
实用BASIC语言程序设计
1992 北京:科学出版社
QBasic语言程序设计教程  第2版(1999 PDF版)
QBasic语言程序设计教程 第2版
1999 北京:电子工业出版社
C程序设计语言  第2版(1998 PDF版)
C程序设计语言 第2版
1998 北京:清华大学出版社