Chapter 1 Preliminaries
1.1 Reasons for Studying Concepts of Programming Languages
1.2 Programming Domains
1.3 Language Evaluation Criteria
1.4 Influences on Language Design
1.5 Language Categories
1.6 Language Design Trade-offs
1.7 Implementation Methods
1.8 Programming Environments
Summary·Review Questions·Problem Set
Chapter 2 Evolution of the Major Programming Languages
2.1 Zuse's Plankalkul
2.2 Minimal Hardware Programming: Pseudocodes
2.3 The IBM 704 and Fortran
2.4 Functional Programming: LISP
2.5 The First Step Toward Sophistication: ALGOL 60
2.6 Computerizing Business Records: COBOL
2.7 The Beginnings of Timesharing: BASIC
Interview: ALAN COOPER--User Design and Language Design
2.8 Everything for Everybody: PL/I
2.9 Two Early Dynamic Languages: APL and SNOBOL
2.10 The Beginnings of Data Abstraction: SIM U LA 67
2.11 Orthogonal Design: ALGOL 68
2.12 Some Early Descendants of the ALGOLs
2.13 Programming Based on Logic: Prolog
2.14 History's Largest Design Effort: Ada
2.15 Object-Oriented Programming: Smalltalk
2.16 Combining Imperative and Object-Oriented Features: C++
2.17 An Imperative-Based Object-Oriented Language: Java
2.18 Scripting Languages: JavaScript, PHP, and Python
2.19 A C-Based Language for the New Millennium: C#
2.20 Markup/Programming Hybrid Languages
Summary·Bibliographic Notes·Review Questions .Problem Set
Chapter 3 Describing Syntax and Semantics
3.1 Introduction
3.2 The General Problem of Describing Syntax
3.3 Formal Methods of Describing Syntax
3.4 Attribute Grammars History Note
3.5 Describing the Meanings of Programs: Dynamic Semantics History Note
Summary·Bibliographic Notes·Review Questions·Problem Set
Programming Exercises
Chapter 4 Lexical and Syntax Analysis
4.1 Introduction
4.2 Lexical Analysis
4.3 The Parsing Problem
4.4 Recursive-Descent Parsing
4.5 Bottom-Up Parsing
Summary·Review Questions·Problem Set·Programming Exercises
Chapter 5 Names, Bindings, Type Checking, and Scopes
5.1 Introduction
5.2 Names
……
Chapter 6 Data Types
Chapter 7 Expressions and Assignment Statement
Chapter 8 Statement-Level Control Structures
Chapter 9 Subprograms
Chapter 10 Implementing Subprograms
Chapter 11 Abstract Data Types and Encapsulation Constructs
Chapter 12 Support for Object-Oriented Programming
Chapter 13 Concurrency
Chapter 14 Exception Handling and Event Handling
Chapter 15 Functional Programming Languages
Chapter 16 Logic Programming Languages