图书介绍

程序设计语言-原理与实践 英文版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

程序设计语言-原理与实践 英文版
  • (美)Kenneth C.Louden著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:7505382616
  • 出版时间:2003
  • 标注页数:694页
  • 文件大小:25MB
  • 文件页数:712页
  • 主题词:程序设计语言学 程序设计语言学

PDF下载


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

下载说明

程序设计语言-原理与实践 英文版PDF格式电子书版下载

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

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

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

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

图书目录

1 Introduction1

1.1 What Is a Programming Language?2

1.2 Abstractions in Programming Languages5

1.3 Computational Paradigms13

1.4 Language Definition20

1.5 Language Translation22

1.6 Language Design29

Exercises30

Notes and References33

2 History34

2.1 Early History:The First Programmer35

2.2 The 1950s:The First Programming Languages37

2.3 The 1960s:An Explosion in Programming Languages39

2.4 The 1970s:Simplicity,Abstraction,Study42

2.5 The 1980s:New Directions and the Rise of Object-Orientation43

2.6 The 1990s:Consolidation,the Internet,Libraries,and Scripting46

2.7 The Future49

Exercises50

Notes and References53

3 Language Design Principles55

3.1 History and Design Criteria57

3.2 Efficiency59

3.3 Regularity60

3.4 Further Language Design Principles63

3.5 C++:A Case Study in Language Design68

Exercises72

Notes and References76

4 Syntax77

4.1 Lexical Structure of Programming Languages78

4.2 Context-Free Grammars and BNFs83

4.3 Parse Trees and Abstract Syntax Trees89

4.4 Ambiguity,Associativity,and Precedence92

4.5 EBNFs and Syntax Diagrams97

4.6 Parsing Techniques and Tools101

4.7 Lexics versus Syntax versus Semantics113

Exercises115

Notes and References123

5 Basic Semantics125

5.1 Attributes,Binding,and Semantic Functions126

5.2 Declarations,Blocks,and Scope130

5.3 The Symbol Table139

5.4 Name Resolution and Overloading152

5.5 Allocation,Lifetimes,and the Environment159

5.6 Variables and Constants167

5.7 Aliases,Dangling References,and Garbage174

Exercises180

Notes and References187

6 Data Types189

6.1 Data Types and Type Information192

6.2 Simple Types197

6.3 Type Constructors200

6.4 Type Nomenclature in Sample Languages215

6.5 Type Equivalence218

6.6 Type Checking225

6.7 Type Conversion231

6.8 Polymorphic Type Checking235

6.9 Explicit Polymorphism244

Exercises250

Notes and References258

7 Control I-Expressions and Statements260

7.1 Expressions262

7.2 Conditional Statements and Guards270

7.3 Loops and Variation on WHILE276

7.4 The GOTO Controversy280

7.5 Exception Handling282

Exercises299

Notes and References307

8 Control II-Procedures and Environments309

8.1 Procedure Definition and Activation311

8.2 Procedure Semantics313

8.3 Parameter Passing Mechanisms317

8.4 Procedure Environments,Activations,and Allocation325

8.5 Dynamic Memory Management340

8.6 Exception Handling and Environments344

Exercises346

Notes and References355

9 Abstract Data Types and Modules356

9.1 The Algebraic Specification of Abstract Data Types359

9.2 Abstract Data Type Mechanisms and Modules364

9.3 Separate Compilation in C,C++ Namespaces,and Java Packages368

9.4 Ada Packages375

9.5 Modules in ML381

9.6 Modules in Earlier Languages385

9.7 Problems with Abstract Data Type Mechanisms390

9.8 The Mathematics of Abstract Data Types398

Exercises402

Notes and References407

10 Object-Oriented Programming409

10.1 Software Reuse and Independence410

10.2 Java:Objects,Classes,and Methods413

10.3 Inheritance419

10.4 Dynamic Binding431

10.5 C++434

10.6 Smalltalk446

10.7 Design Issues in Object-Oriented Languages452

10.8 Implementation Issues in Object-Oriented Languages456

Exercises462

Notes and References470

11 Functional Programming471

11.1 Programs as Functions473

11.2 Functional Programming in an Imperative Language476

11.3 Scheme:A Dialect of LISP481

11.4 ML:Functional Programming with Static Typing494

11.5 Delayed Evaluation507

11.6 Haskell-A Fully-Curried Lazy Language with Overloading512

11.7 The Mathematics of Functional Programming I:Recursive Functions520

11.8 The Mathematics of Functional Programming Ⅱ:Lambda Calculus524

Exercises529

Notes and References537

12 Logic Programming539

12.1 Logic and Logic Programs541

12.2 Horn Clauses545

12.3 Resolution and Unification548

12.4 The Language Prolog552

12.5 Problems with Logic Programming563

12.6 Extending Logic Programming:Constraint Logic Programming and Equational Systems568

Exercises572

Notes and References577

13 Formal Semantics579

13.1 A Sample Small Language581

13.2 Operational Semantics585

13.3 Denotational Semantics595

13.4 Axiomatic Semantics604

13.5 Proofs of Program Correctness611

Exercises614

Notes and References619

14 Parallel Programming620

14.1 Introduction to Parallel Processing622

14.2 Parallel Processing and Programming Languages626

14.3 Threads634

14.4 Semaphores643

14.5 Monitors648

14.6 Message Passing654

14.7 Parallelism in Non-Imperative Languages660

Exercises665

Notes and References671

Bibliography673

Index685

热门推荐