Semantics of programming languages
R. D. Tennent
Prentice Hall
This comprehensive text introduces the analysis of the semantics of programming languages and programming logics. It discusses denotational, operational, and axiomatic approaches and the relations between them in a unified framework. Organized around analysis of three languages - the simple imperative language of while commands, a simple applicative language based on the typed lambda calculus, and an Algol-like language which is an extension of the simple languages, the text discusses syntactic and semantic methods appropriate to typed languages. There also self-contained introductions to natural deduction, domain theory, and category theory, and a discussion of modern techniques of possible worlds.