程序設(shè)計(jì)語(yǔ)言--設(shè)計(jì)與實(shí)現(xiàn)(第3版)

出版時(shí)間:1998-05  出版社:清華大學(xué)出版社  作者:普拉特(Ptatt,T.W.)  頁(yè)數(shù):654  
Tag標(biāo)簽:無(wú)  

內(nèi)容概要

本書對(duì)用于開(kāi)發(fā)現(xiàn)代程序設(shè)計(jì)語(yǔ)言的主要模式作了概述,著重討論對(duì)現(xiàn)代程序設(shè)計(jì)極端重要的語(yǔ)言。作者在前兩版基礎(chǔ)上進(jìn)行了全面修訂以反映程序設(shè)計(jì)語(yǔ)言設(shè)計(jì)的新進(jìn)展,本書通過(guò)使用C,C++和Smalltalk介紹過(guò)程型語(yǔ)言和面向?qū)ο笮驼Z(yǔ)言,通過(guò)LISP,Prolog和ML討論各種程序設(shè)計(jì)模式,F(xiàn)ORTRAN 90和Ada 95用了新標(biāo)準(zhǔn),LISP和Pascal的內(nèi)容作了更新。書內(nèi)對(duì)每種重要的程序設(shè)計(jì)語(yǔ)言都作了充分介紹,使讀者不需要再購(gòu)買單種語(yǔ)言的參考資料就可以解決所關(guān)心的問(wèn)題,每章后的閱讀建議使讀者有可能擴(kuò)大對(duì)重要問(wèn)題的了解。

書籍目錄

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

圖書封面

圖書標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    程序設(shè)計(jì)語(yǔ)言--設(shè)計(jì)與實(shí)現(xiàn)(第3版) PDF格式下載


用戶評(píng)論 (總計(jì)0條)

 
 

 

250萬(wàn)本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7