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