1. Foreword
  2. Part I: Foundations
    ❱
    1. Chapter 1: Introduction
      ❱
      1. 1.1 The Art of Language Design
      2. 1.2 The Programming Language Spectrum
      3. 1.3 Why Study Programming Languages?
    2. Chapter 2: Programming Language Syntax
      ❱
      1. 2.1 Specifying Syntax: Regular Expressions and Context-Free Grammars
      2. 2.2 Scanning
      3. 2.3 Parsing
      4. 2.4 Theoretical Foundations
    3. Chapter 3: Names, Scopes, and Bindings
      ❱
      1. 3.1 The Notion of Binding Time
      2. 3.2 Object Lifetimes and Storage Management
      3. 3.3 Scope Rules
      4. 3.4 Implementing Scope
      5. 3.5 The Meaning of Names within a Scope
      6. 3.6 The Binding of Referencing Environments
      7. 3.7 Macro Expansion
      8. 3.8 Separate Compilation
    4. Chapter 4: Semantic Analysis
      ❱
      1. 4.1 The Role of The Semantic Analyzer
      2. 4.2 Attribute Grammar
      3. 4.3 Evaluating Attributes
      4. 4.4 Action Routines
      5. 4.5 Space Management for Attributes
      6. 4.6 Tree Grammars and Syntax Tree Decoration
    5. Chapter 5: Target Machine Architecture
  3. Part II: Core Issues in Language Design
    ❱
    1. Chapter 6: Control Flow
      ❱
      1. 6.1 Expression evaluation
      2. 6.2 Structured and Unstructured Flow
      3. 6.3 Sequencing
      4. 6.4 Selection
      5. 6.5 Iteration
      6. 6.6 Recursion
      7. 6.7 Nondeterminacy
    2. Chapter 7: Type Systems
      ❱
      1. 7.1 Overview
      2. 7.2 Type Checking
      3. 7.3 Parametric Polymorphism
      4. 7.4 Equality Tesing and Assignment
    3. Chapter 8: Composite Types
      ❱
      1. 8.1 Records(Structures)
      2. 8.2 Arrays
      3. 8.3 Strings
      4. 8.4 Sets
      5. 8.5 Pointers and Recursive Types
      6. 8.6 Lists
      7. 8.7 Files and Input/Output
    4. Chapter 9: Subroutines and Control Abstraction
      ❱
      1. 9.1 Review of Stack Layout
      2. 9.2 Calling Sequences
      3. 9.3 Parameter Passing
      4. 9.5 Coroutines
      5. 9.6 Events
    5. Chapter 10: Data Abstraction and Object Orientation
      ❱
      1. 10.1 Object-Oriented Programming
      2. 10.2 Encapsulation and Inheritance
      3. 10.3 Initialization and Finalization
      4. 10.4 Dynamic method Binding
      5. 10.5 Mix in Inheritance
      6. 10.6 True Multiple Inheritance
      7. 10.7 Object-Oriented Progamming Revisited
  4. Part III: Alternative Programming Models
    ❱
    1. Chapter 11: Functional Languages
      ❱
      1. 11.1 Historical Origins
      2. 11.2 Functional Programming Concepts
      3. 11.3 a Bit of Scheme
      4. 11.4 a Bit of Ocaml
      5. 11.5 Evaluation Order Revisited
      6. 11.6 Higher Order Functions
      7. 11.7 Theoretical Foundations
      8. 11.8 Functional Programming in Perspective
    2. Chapter 12: Logic Languages
    3. Chapter 13: Concurrency
      ❱
      1. 13.1 Background and Motivation
      2. 13.2 Concurrent Programming Fundamentals
      3. 13.3 Implementing Synchronization
      4. 13.4 Language Level Constructs
      5. 13.5 Message Passing
      6. 13.6 Summary and Concluding Remarks
    4. Chapter 14: Scripting Languages
      ❱
      1. 14.1 What is a Scripting Language
      2. 14.2 Problem Domains
      3. 14.3 Scripting the World Wide Web
      4. 14.4 Innovative Features
  5. Part IV: A Closer Look at Implementation
    ❱
    1. Chapter 15: Building a Runnalble Program
      ❱
      1. 15.1 Back-end Compiler Structure
      2. 15.2 Intermediate Forms
      3. 15.3 Code Generation
      4. 15.4 Address Space Organization
      5. 15.5 Assembly
      6. 15.6 Linking
      7. 15.7 Dynamic Linking
    2. Chapter 16: Run-Time Program Management
      ❱
      1. 16.1 Virtual Machine
      2. 16.2 Late Binding of Machine Code
      3. 16.3 Inspection/Introspection
    3. Chapter 17: Code Improvement

编程语言语用论(第4版)

3.6 The Binding of Referencing Environments