記錄 1 之 2
Record:   Prev Next
作者 Scott, Michael L
書名 Programming Language Pragmatics
出版項 San Francisco : Elsevier Science & Technology, 2005
©2006
國際標準書號 9780080515168 (electronic bk.)
9780126339512
book jacket
版本 2nd ed
說明 1 online resource (915 pages)
text txt rdacontent
computer c rdamedia
online resource cr rdacarrier
附註 Front cover -- About the Author -- Programming Language Pragmatics -- Copyright page -- Foreword -- Contents -- Preface -- Part I. Foundations -- Chapter 1. Introduction -- 1.1 The Art of Language Design -- 1.2 The Programming Language Spectrum -- 1.3 Why Study Programming Languages? -- 1.4 Compilation and Interpretation -- 1.5 Programming Environments -- 1.6 An Overview of Compilation -- 1.7 Summary and Concluding Remarks -- 1.8 Exercises -- 1.9 Explorations -- 1.10 Bibliographic Notes -- Chapter 2. Programming Language Syntax -- 2.1 Specifying Syntax -- 2.2 Scanning -- 2.3 Parsing -- 2.4 Theoretical Foundations -- 2.5 Summary and Concluding Remarks -- 2.6 Exercises -- 2.7 Explorations -- 2.8 Bibliographic Notes -- Chapter 3. Names, Scopes, and Bindings -- 3.1 The Notion of Binding Time -- 3.2 Object Lifetime and Storage Management -- 3.3 Scope Rules -- 3.4 Implementing Scope -- 3.5 The Binding of Referencing Environments -- 3.6 Binding Within a Scope -- 3.7 Separate Compilation -- 3.8 Summary and Concluding Remarks -- 3.9 Exercises -- 3.10 Explorations -- 3.11 Bibliographic Notes -- Chapter 4. Semantic Analysis -- 4.1 The Role of the Semantic Analyzer -- 4.2 Attribute Grammars -- 4.3 Evaluating Attributes -- 4.4 Action Routines -- 4.5 Space Management for Attributes -- 4.6 Decorating a Syntax Tree -- 4.7 Summary and Concluding Remarks -- 4.8 Exercises -- 4.9 Explorations -- 4.10 Bibliographic Notes -- Chapter 5. Target Machine Architecture -- 5.1 The Memory Hierarchy -- 5.2 Data Representation -- 5.3 Instruction Set Architecture -- 5.4 Architecture and Implementation -- 5.5 Compiling for Modern Processors -- 5.6 Summary and Concluding Remarks -- 5.7 Exercises -- 5.8 Explorations -- 5.9 Bibliographic Notes -- Part II. Core Issues in Language Design -- Chapter 6. Control Flow -- 6.1 Expression Evaluation -- 6.2 Structured and Unstructured Flow
6.3 Sequencing -- 6.4 Selection -- 6.5 Iteration -- 6.6 Recursion -- 6.7 Nondeterminacy -- 6.8 Summary and Concluding Remarks -- 6.9 Exercises -- 6.10 Explorations -- 6.11 Bibliographic Notes -- Chapter 7. Data Types -- 7.1 Type Systems -- 7.2 Type Checking -- 7.3 Records (Structures) and Variants (Unions) -- 7.4 Arrays -- 7.5 lines -- 7.6 Sets -- 7.7 Pointers and Recursive Types -- 7.8 Lists -- 7.9 Files and Input/Output -- 7.10 Equality Testing and Assignment -- 7.11 Summary and Concluding Remarks -- 7.12 Exercises -- 7.13 Explorations -- 7.14 Bibliographic Notes -- Chapter 8. Subroutines and Control Abstraction -- 8.1 Review of Stack Layout -- 8.2 Calling Sequences -- 8.3 Parameter Passing -- 8.4 Generic Subroutines and Modules -- 8.5 Exception Handling -- 8.6 Coroutines -- 8.7 Summary and Concluding Remarks -- 8.8 Exercises -- 8.9 Explorations -- 8.10 Bibliographic Notes -- Chapter 9. Data Abstraction and Object Orientation -- 9.1 Object-Oriented Programming -- 9.2 Encapsulation and Inheritance -- 9.3 Initialization and Finalization -- 9.4 Dynamic Method Binding -- 9.5 Multiple Inheritance -- 9.6 Object-Oriented Programming Revisited -- 9.7 Summary and Concluding Remarks -- 9.8 Exercises -- 9.9 Explorations -- 9.10 Bibliographic Notes -- Part III. Alternative Programming Models -- Chapter 10. Functional Languages -- 10.1 Historical Origins -- 10.2 Functional Programming Concepts -- 10.3 A Review/Overview of Scheme -- 10.4 Evaluation Order Revisited -- 10.5 Higher-Order Functions -- 10.6 Theoretical Foundations -- 10.7 Functional Programming in Perspective -- 10.8 Summary and Concluding Remarks -- 10.9 Exercises -- 10.10 Explorations -- 10.11 Bibliographic Notes -- Chapter 11. Logic Languages -- 11.1 Logic Programming Concepts -- 11.2 Prolog -- 11.3 Theoretical Foundations -- 11.4 Logic Programming in Perspective
11.5 Summary and Concluding Remarks -- 11.6 Exercises -- 11.7 Explorations -- 11.8 Bibliographic Notes -- Chapter 12. Concurrency -- 12.1 Background and Motivation -- 12.2 Concurrent Programming Fundamentals -- 12.3 Shared Memory -- 12.4 Message Passing -- 12.5 Summary and Concluding Remarks -- 12.6 Exercises -- 12.7 Explorations -- 12.8 Bibliographic Notes -- Chapter 13. Scripting Languages -- 13.1 What Is a Scripting Language? -- 13.2 Problem Domains -- 13.3 Scripting the World Wide Web -- 13.4 Innovative Features -- 13.5 Summary and Concluding Remarks -- 13.6 Exercises -- 13.7 Explorations -- 13.8 Bibliographic Notes -- Part IV. A Closer Look at Implementation -- Chapter 14. Building a Runnable Program -- 14.1 Back-End Compiler Structure -- 14.2 Intermediate Forms -- 14.3 Code Generation -- 14.4 Address Space Organization -- 14.5 Assembly -- 14.6 Linking -- 14.7 Dynamic Linking -- 14.8 Summary and Concluding Remarks -- 14.9 Exercises -- 14.10 Explorations -- 14.11 Bibliographic Notes -- Chapter 15. Code Improvement -- Appendix A. Programming Languages Mentioned -- Appendix B. Language Design and Language Implementation -- Appendix C. Numbered Examples -- Bibliography -- Index
The innovative approach of the first edition of Programming Language Pragmatics provided students with an integrated view of programming language design and implementation, while offering a solid teaching text on timely language topics in a rigorous yet accessible style. The new edition carries on these distinctive features as well as the signature tradition of illustrating the most recent developments in programming language design with a variety of modern programming languages. Addresses the most recent developments in programming language design, including C99, C#, and Java 5 Introduces and discusses scripting languages throughout the book as well as in an entire new chapter Includes a comprehensive chapter on concurrency, with coverage of the new Java concurrency package (JSR 166) and the comparable mechanisms in C# Updates many sections and topics, including iterators, exceptions, polymorphism, templates/generics, scope rules and declaration ordering, separate compilation, garbage collection, and threads and synchronization Highlights the interaction and tradeoffs inherent in language design and language implementation decisions with over 100 "Design and Implementation" call-out boxes Adds end-of-chapter "Exploration" exercises-open-ended, research-type activities Provides review questions after sections for quick self-assessment Includes over 800 numbered examples to help the reader quickly cross-reference and access content
Description based on publisher supplied metadata and other sources
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2020. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries
鏈接 Print version: Scott, Michael L. Programming Language Pragmatics San Francisco : Elsevier Science & Technology,c2005 9780126339512
主題 Programming languages (Electronic computers)
Electronic books
記錄 1 之 2
Record:   Prev Next