图书介绍

程序设计语言 概念和结构 英文版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

程序设计语言 概念和结构 英文版
  • (美)Ravi Sethi著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111095944
  • 出版时间:2002
  • 标注页数:640页
  • 文件大小:20MB
  • 文件页数:665页
  • 主题词:

PDF下载


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

下载说明

程序设计语言 概念和结构 英文版PDF格式电子书版下载

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

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

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

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

图书目录

Ⅰ INTRODUCTION1

1 The Role of Programming Languages3

1.1 Toward Higher-Level Languages4

1.2 Problems of Scale8

1.3 Programming Paradigms11

1.4 Language Implementation:Bridging the Gap18

EXERCISES21

BIBLIOGRAPHIC NOTES23

2 Language Description:Syntactic Structure25

2.1 Expression Notations28

2.2 Abstract Syntax Trees31

2.3 Lexical Syntax33

2.4 Context-Free Grammars35

2.5 Grammars for Expressions41

2.6 Variants of Grammars46

EXERCISES49

BIBLIOGRAPHIC NOTES52

Ⅱ IMPERATIVE PROGRAMMING55

3.1 The Need for Structured Ptogramming59

3 Statements:Structured Programming59

3.2 Syntax-Directed Control Flow63

3.3 Design Considerations:Syntax72

3.4 Handling Special Cases in Loops77

3.5 Programming with Invariants80

3.6 Proof Rules for Partial Correctness86

3.7 Control flow in C90

EXERCISES94

BIBLIOGRAPHIC NOTES99

4 Types:Data Representation101

4.1 The Role of Types102

4.2 Basic Types107

4.3 Arrays:Sequences of Elements111

4.4 Records:Named Fields117

4.5 Unions and Variant Records120

4.6 Sets123

4.7 Pointers:Efficiency and Dynamic Allocation125

4.8 Two String Tables133

4.9 Types and Error Checking136

EXERCISES143

BIBLIOGRAPHIC NOTES146

5 Procedure Activations147

5.1 Introduction to Procedures148

5.2 Parameter-Passing Methods155

5.3 Scope Rules for Names160

5.4 Nested Scopes in the Source Text166

5.5 Activation Records172

5.6 Lexical Scope:Procedures as in C181

5.7 Lexical Scope:Nested Procedures and Pascal190

EXERCISES198

BIBLIOGRAPHIC NOTES202

Ⅲ OBJECT-ORIENTED PROGRAMMING205

6 Groupings of Data and Operations209

6.1 Constructs for Program Structuring210

6.2 Information Hiding217

6.3 Program Design with Modules220

6.4 Modules and Defined Types229

6.5 Class Declarations in C++232

6.6 Dynamic Allocation in C++238

6.7 Templates:Parameterized Types244

6.8 Implementation of Objects in C++245

EXERCISES248

BIBLIOGRAPHIC NOTES251

7 Object-Oriented Programming253

7.1 What is an Object?253

7.2 Object-Oriented Thinking256

7.3 Inheritance260

7.4 Object-Oriented Programming in C++267

7.5 An Extended C++ Example274

7.6 Derived Classes and Information Hiding281

7.7 Objects in Smalltalk285

7.8 Smalltalk Objects hava a Self291

EXERCISES294

BIBLIOGRAPHIC NOTES299

Ⅳ FUNCTIONAL PROGRAMMING301

8 Elements of Functional Programming305

8.1 A Little Language of Expressions306

8.2 Types:Values and Operations313

8.3 Function Declarations318

8.4 Approaches to Expression Evaluation321

8.5 Lexical Scope327

8.6 Type Checking331

EXERCISES335

BIBLIOGRAPHIC NOTES339

9 Functional Programming in a Typed Language341

9.1 Exploring a List342

9.2 Function Declaration by Cases346

9.3 Functions as First-Class Values351

9.4 ML:Implicit Types357

9.5 Data Types360

9.6 Exception Handling in ML367

9.7 Little Quilt in Standard ML369

EXERCISES380

BIBLIOGRAPHIC NOTES383

10 Functional Programming with Lists385

10.1 Scheme,a Dialect of Lisp386

10.2 The Structure of Lists392

10.3 List Manipulation396

10.4 A Motivating Example:Differentiation404

10.5 Simplification of Expressions409

10.6 Storage Allocation for Lists413

EXERCISES417

BIBLIOGRAPHIC NOTES421

Ⅴ OTHER PARADIGMS423

11 Logic Programming425

11.1 Computing with Relations426

11.2 Introduction to Prolog430

11.3 Data Structures in Prolog438

11.4 Programming Techniques442

11.5 Control in Prolog450

11.6 Cuts461

EXERCISES470

BIBLIOGRAPHIC NOTES472

12 An Introduction to Concurrent Programming475

12.1 Parallelism in Hardware476

12.2 Streams:Implicit Synchronization478

12.3 Concurrency as Interleaving482

12.4 Liveness Properties485

12.5 Safe Access to Shared Data489

12.6 Concurrency in Ada491

12.7 Synchronized Access to Shared Variables498

EXERCISES507

BIBLIOGRAPHIC NOTES510

Ⅵ LANGUAGE DESCRIPTION513

13 Semantic Methods515

13.1 Synthesized Attributes517

13.2 Attribute Grammars520

13.3 Natural Semantics523

13.4 Denotational Semantics529

13.5 A Calculator in Scheme530

13.6 Lexically Scoped Lambda Expressions532

13.7 An Interpreter535

13.8 An Extension:Recursive Functions542

EXERCISES545

BIBLIOGRAPHIC NOTES546

14 Static Types and the Lambda Calculus547

14.1 Equallty of Pure Lambda Terms549

14.2 Substitution Revisited554

14.3 Computation with Pure Lambda Terms556

14.4 Programming Constructs as Lambda-Terms561

14.5 The Typed Lambda Calculus566

14.6 Polymorphic Types569

EXERCISES576

BIBLIOGRAPHIC NOTES577

15.1 Pascal:A Teaching Language579

15 A Look at Some Languages579

15.2 C:Syetems Programming583

15.3 C++:A Range of Programming Styles591

15.4 Smalltalk,the Language594

15.5 Standard ML598

15.6 Scheme,a Dialect of Lisp602

15.7 Prolog607

Bibliography613

Credits627

Index629

热门推荐