图书介绍
程序设计语言 设计与实现 第3版 英文版PDF|Epub|txt|kindle电子书版本下载
![程序设计语言 设计与实现 第3版 英文版](https://www.shukui.net/cover/43/31156764.jpg)
- (美)(T.W.普拉特)TerrenceW.Pratt,(美)(M.V.泽尔柯维茨)MarvinV.Zelkowitz著 著
- 出版社: 北京:清华大学出版社
- ISBN:7302028338
- 出版时间:1998
- 标注页数:656页
- 文件大小:23MB
- 文件页数:673页
- 主题词:
PDF下载
下载说明
程序设计语言 设计与实现 第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