Subject Area: CS Basics (Logics, Discrete Mathematics)
in CIDEC Library.
FORMAL SYNTAX AND SEMANTICS OF PROGRAMMING LANGUAGESPublisher : Addison-Wesley Publishing Co. - Reading, Mass.
Bibliographic :
Formal Syntax and Semantics of Programming Languages is a text designed for an advanced undergraduate or introductory graduate level course on the formal syntax and semantics of programming languages. This unique text takes a teaching/learning perspective rather than the traditional, research-oriented approach.
This text is designed to present the typically difficult subject area of formal methods via an informal presentation. This text is accessible to students who have a basic grounding in discrete mathematics. A laboratory component provides the opportunity for practical application of difficult concepts.
The author's web page for the book [Lab materials, errata, and more]
CONTENTS :
1. Specifying Syntax .
Grammars and BNF .
The Programming Language Wren .
Variants of BNF .
Abstract Syntax .
2. Introduction To Laboratory Activities .
Scanning .
Logic Grammars .
Parsing Wren .
3. Attribute Grammars .
Concepts and Examples .
An Attribute Grammar for Wren .
Laboratory: Context Checking Wren.
4. Two-Level Grammars .
Concepts and Examples .
A Two-Level Grammar for Wren .
Two-Level Grammars and Prolog.
5. Lambda Calculus .
Concepts and Examples .
Lambda Reduction.
Laboratory : A Lambda Calculus Evaluator.
6. Self-Definition Of Programming Languages .
Self-Definition of Lisp.
Self-Definition of Prolog .
7. Translational Semantics .
Concepts and Examples .
Attribute Grammar Code Generation.
Laboratory: Implementing Code Generation.
8. Traditional Operational Semantics .
Concepts and Examples .
SECD: An Abstract Machine .
Laboratory: Implementing the SECD maching.
Structural Operational Semantics: Introduction .
Structural Operational Semantics: Expressions .
Structural Operational Semantics: Commands .
Laboratory: Implementing Structural Operational Semantics.
9. Denotational Semantics.
Concepts and Examples .
A Calculator Language .
The Denotational Semantics of Wren .
Laboratory: Implementing Denotational Semantics .
Denotational Semantics with Environments .
Checking Context-Sensitive Syntax .
Continuation Semantics .
10. Domain Theory And Fixed-Point Semantics .
Concepts and Examples .
Domain Theory.
Fixed-Point Semantics .
Laboratory: Recursion in the Lambda Calculus .
11. Axiomatic Semantics .
Concepts and Examples .
Axiomatic Semantics for Wren .
Axiomatic Semantics for Pelican .
Proving Termination .
Introduction to Program Derivation.
12. Algebraic Semantics .
Concepts and Examples .
Mathematical Foundations .
Using Algebraic Specification .
Algebraic Semantics for Wren .
Laboratory: Implementing Algebraic Semantics .
13. Action Semantics .
Concepts and Examples .
Action Semantics of a Calculator .
The Declarative Facet and Wren .
The Reflective Facet and Pelican .
Laboratory: Translating into Action Semantics.
Appendix A. Logic Programming with Prolog .
Appendix B. Functional Programming with Scheme
Includes bibliographical references (p. 611-624) and index.
Changed 20/01/1997. Comments: monika@cs.ioc.ee