Scott, Michael L.

Programming Language Pragmatics. - 2nd ed. - Saint Louis : Elsevier Science, 2014. - 1 online resource (915 p.) - eBooks on Demand .

Front cover; About the Author; 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.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.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 Bindings3.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 Exercises4.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 Exercises6.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 Coroutines8.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

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#,

    9780080515168 133.11 (UA),88.74 (1U)


    Programming languages (Electronic computers).


    Electronic books.

    QA76.7

    005.13