Back TTU Subject Area: CS Basics (Logics, Discrete Mathematics) in CIDEC Library.

a laboratory based approach

is an Assistant Professor at the University of Iowa where he currently serves as the Associate Chair of the Department of Computer Science. After receiving his Ph.D. in Mathematics from the University of Illinois, Professor Slonneger taught for a number of years at the SUNY College at Fredonia, NY before coming to Iowa. His current research focuses on formal methods of speciying the semantics of programming languages and on making these methods more practical and easier to use.
Barry L. KURTZ
is Professor and Head of Computer Science at Louisiana Tech University. He received his B.S. degree from the University of California, Riverside, and his Ph.D. from the University of California, Berkeley. As Principal Investigator on three National Science Foundation grants, Dr. Kurtz is an active researcher in the development of innovative curricula in Computer Science. He is also co-author of textbooks for introductory programmming and data structurees courses.

Publisher : 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]



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.

Back Top Changed 20/01/1997. Comments: