程序设计语言--设计与实现(第3版)txt,chm,pdf,epub,mobi下载 作者:普拉特(Ptatt,T.W.)/等 出版社: 清华大学出版社 出版年: 1998-05 页数: 654 定价: 32.00元 装帧: 平装 ISBN: 9787302028338 内容简介 · · · · · ·内容简介 本书对用于开发现代程序设计语言的主要模式作了概述,着重 讨论对现代程序设计极端重要的语言。作者在前两版基础上进行了 全面修订以反映程序设计语言设计的新进展,本书通过使用 和smalltalk介绍过程型语言和面向对象型语言,通过LISP,Prol0g和 ML讨论各种程序设计模式,FORTRAN90和Ad0-95用了新标准,LISP 和Pasca的内容作了更新。书内对每种重要的程序设计语言都作了 充分介绍,使读者不需要再购买单种语言的参考资料就可以解决所 关心的问题,每章后的阅读建议使读者有可能扩大对重要问题的了 解。 目录 · · · · · ·Part 1. Concepts1 The Study of Programming Languages 1.1 Why Study Programming Languages? 1.2 A Short History of Programming Languages 1.2.1 Development of Early Languages 1.2.2 Role of Programming Languages · · · · · ·() Part 1. Concepts 1 The Study of Programming Languages 1.1 Why Study Programming Languages? 1.2 A Short History of Programming Languages 1.2.1 Development of Early Languages 1.2.2 Role of Programming Languages 1.3 What Makes a Good Language? 1.3.1 Attributes of a Good Language 1.3.2 Application Domains 1.3.3 T anguage Standardization 1.4 Effects of Environments on Languages 1.4.1 Batch-Processing Environments 1.4.2 Interactive Environments 1.4.3 Embedded System Environments 1.4.4 Programming Environments 1.4.5 Environment Frameworks 1.5 Suggestions for Further Reading 1.6 Problems 2 Language Design Issues 2.1 The Structure and Operation of a Computer 2.1.1 The Hardware of the Computer 2.1.2 Firmware Computers 2.1.3 Translators and Software-Simulated Computers 2.2 Virtual Computers and Binding Times 2.2.1 Syntax and Semantics 2.2.2 Virtual Computers and Language Implementations 2.2.3 Hierarchies of Computers 2.2.4 Binding and Binding Time 2.3 Language Paradigms 2.4 Suggestions for Further Reading 2.5 Problems 3 Language Translation Issues 3.1 Programming Language Syntax 3.1.1 General Syntactic Criteria 3.1.2 Syntactic Elements of a Language 3.1.3 Overall Program-Subprogram Structure 3.2 Stages in Translation 3.2.1 Analysis of the Source Program 3.2.2 Synthesis of the Object Program 3.3 Formal Translation Models 3.3.1 BNF Grammars 3.3.2 Finite-State Automata 3.3.3 Pushdown Automata 3.3.4 Efficient Parsing Algorithms 3.3.5 Semantic Modeling 3.4 Suggestions for Further Reading 3.5 Problems 4 Data Types 4.1 Properties of Types and Objects 4.1.1 Data Objects, Variables, and Constants 4.1.2 Data Types 4.1.3 Specification of Elementary Data Types 4.1.4 Implementation of Elementary Data Types 4.1.5 Declarations 4.1.6 Type Checking and Type Conversion 4.1.7 Assignment and Initialization 4.2 Elementary Data Types 4.2.1 Numeric Data Types 4.2.2 Enumerations 4.2.3 Booleans 4.2.4 Characters 4.2.5 Internationalization 4.3 Structured Data Types 4.3.1 Structured Data Objects and Data Types 4.3.2 Specification of Data Structure Types 4.3.3 Implementation of Data Structure Types 4.3.4 Declarations and Type Checking for Data Structures 4.3.5 Vectors and Arrays 4.3.6 Records 4.3.7 Lists 4.3.8 Character Strings 4.3.9 Pointers and Programmer-Constructed Data Objects 4.3.10 Sets 4.3.11 Executable Data Objects 4.3.12 Files and Input-Output 4.4 Suggestions for Further Reading 4.5 Problems 5 Abstraction 1: Encapsulation 5.1 Abstract Data Types 5.1.1 Evolution of the Data Type Concept 5.1.2 Information Hiding 5.2 Encapsulation by Subprograms 5.2.1 Subprograms as Abstract Operations 5.2.2 Subprogram Definition and Invocation 5.2.3 Subprogram Definitions as Data Objects 5.3 Type Definitions 5.3.1 Type Equivalence 5.3.2 Type Definitions with Parameters 5.4 Storage Management 5.4.1 Major Run-Time Elements Requiring Storage 5.4.2 Programmer- and System-Controlled Storage Management 5.4.3 Static Storage Management 5.4.4 Stack-Based Storage Management 5.4.5 Heap Storage Management: Fixed-Size Elements 5.4.6 Heap Storage Management: Variable-Size Elements 5.5 Suggestions for Purther Reading 5.6 Problems 6 Sequence Control 6.1 Implicit and Explicit Sequence Control 6.2 Sequencing with Arithmetic Expressions 6.2.1 Tree-Structure Representation 6.2.2 Execution-Time Representation 6.3 Sequencing with Nonarithmetic Expressions 6.3.1 Pattern Matching 6.3.2 Unification 6.3.3 Backtracking 6.4 Sequence Control Between Statements 6.4.1 Basic Statements 6.4.2 Structured Sequence Control 6.4.3 Prime Programs 6.5 Suggestions for Further Reading 6.6 Problems 7 Subprogram Control 7.1 Subprogram Sequence Control 7.1.1 Simple Call-Return Subprograms 7.1.2 Recursive Subprograms 7.2 Attributes of Data Control 7.2.1 Names and Referencing Environments 7.2.2 Static and Dynamic Scope 7.2.3 Block Structure 7.2.4 Local Data and Local Referencing Environments 7.3 Shared Data in Subprograms 7.3.1 Parameters and Parameter Transmission 7.3.2 Explicit Common Environments 7.3.3 Dynamic Scope 7.3.4 Static Scope and Block Structure 7.4 Suggestions for Further Reading 7.5 Problems 8 Abstraction 11: Inheritance 8.1 Abstract Data Types Revisited 8.2 Inheritance 8.2.1 Derived Classes 8.2.2 Methods 8.2.3 Abstract Classes 8.2.4 Objects and Messages 8.2.5 Abstraction Concepts 8.3 Polymorphism 8.4 Suggestions for Further Reading 8.5 Problems 9 Advances in Language Design 9.1 Variations on Subprogram Control 9.1.1 Exceptions and Exception Handlers 9.1.2 Coroutines 9.1.3 Scheduled Subprograms 9.1.4 Nonsequential Execution 9.2 Parallel Programming 9.2.1 Concurrent Execution 9.2.2 Guarded Commands 9.2.3 Tasks 9.2.4 Synchronization of Tasks 9.3 Formal Properties of Languages 9.3.1 Chomsky Hierarchy 9.3.2 Undecidability 9.3.3 Algorithm Complexity 9.4 Language Semantics 9.4.1 Denotational Semantics 9.4.2 Program Verification 9.4.3 Algebraic Data Types 9.4.4 Resolution 9.5 Hardware Developments 9.5.1 Processor Design 9.5.2 System Design 9.6 Software Architecture 9.6.1 Persistent Data and Transaction Systems 9.6.2 Networks and Client/Server Computing 9.6.3 Desktop Publishing 9.6.4 Programming Language Trends 9.7 Suggestions for Further Reading 9.8 Problems Part 11. Paradigms and Languages 10 Simple Procedural Languages 10.1 FORTRAN 10.1.1 History 10.1.2 Hello World 10.1.3 Brief Overview of the Language 10.1.4 Data Objects 10.1.5 Sequence Control 10.1.6 Subprograms and Storage Management 10.1.7 Abstraction and Encapsulation 10.1.8 Language Evaluation 10.2 C 10.2.1 History 10.2.2 Hello World 10.2.3 Brief Overview of the Language 10.2.4 Data Objects 10.2.5 Sequence Control 10.2.6 Subprograms and Storage Management 10.2.7 Abstraction and Encapsulation 10.2.8 Language Evaluation 10.3 Suggestions for Further Reading 10.4 Problems 11 Block-Structured Procedural Languages 11.1 Pascal 11.1.1 History 11.1.2 Hello World 11.1.3 Brief Overview of the Language 11.1.4 Data Objects 11.1.5 Sequence Control 11.1.6 Subprograms and Storage Management 11.1.7 Abstraction and Encapsulation 11.1.8 Language Evaluation 11.2 Suggestions for Further Reading 11.3 Problems 12 Object-Based Languages 12.1 Ada 12:1.1 History 12.1.2 Hello World 12.1.3 Brief Overview of the Language 12.1.4 Data Objects 12.1.5 Sequence Control 12.1.6 Subprograms and Storage Management 12.1.7 Abstraction and Encapsulation 12.1.8 Language Evaluation 12.2 C++ 12.2.1 History 12.2.2 Hello World 12.2.3 Brief Overview of the Language 12.2.4 Data Objects 12.2.5 Sequence Control 12.2.6 Subprograms and Storage Management 12.2.7 Abstraction and Encapsulation 12.2.8 Language Evaluation 12.3 Smalltalk 12.3,1 History 12.3.2 HelloWorld 12.3.3 Brief Overview of the Language 12.3.4 Data Objects 12.3.5 Sequence Control 12.3.6 Subprograms and Storage Management 12.3.7 Abstraction and Encapsulation 12.3.8 Language Evaluation 12.4 Suggestions for Further Reading 12.5 Problems 13 Functional Languages 13.1 LISP 13.1.1 History 13.1.2 HelloWorld 13.1.3 Brief Overview of the Language 13.1.4 Data Objects 13.1.5 Sequence Control 13.1.6 Subprograms and Storage Management 13.1.7 Abstraction and Encapsulation 13.1.8 Language Evaluation 13.2 ML 13.2.1 History 13.2.2 HelloWorld 13.2.3 Brief Overview of the Language 13.2.4 Data Objects 13.2.5 Sequence Control 13.2.6 Subprograms and Storage Management 13.2.7 Abstraction and Encapsulation 13.2.8 Language Evaluation 13.3 Suggestions for Further Reading 13.4 Problems 14 Logic Programming Languages 14.1 Prolog 14.1.1 History 14.1.2 HelloWorld 14.1.3 Brief Overview of the Language 14.1.4 Data Objects 14.1.5 Sequence Control 14.1.6 Subprograms and Storage Management 14.1.7 Abstraction and Encapsulation 14.1.8 Language Evaluation 14.2 Suggestions for Purther Reading 14.3 Problems References Index · · · · · · () |
本书需要耐心的仔细品看,因为有些内容还是满学术的。
一方面满足了自己的好奇心
一种全新的角度切入
同学推荐很多次