Hans HuttelCambridge University Press, 4/29/2010EAN 9780521147095, ISBN10: 0521147093Paperback, 292 pages, 24.4 x 17 x 1.7 cmLanguage: EnglishStructural operational semantics is a simple, yet powerful mathematical theory for describing the behaviour of programs in an implementation-independent manner. This book provides a self-contained introduction to structural operational semantics, featuring semantic definitions using big-step and small-step semantics of many standard programming language constructs, including control structures, structured declarations and objects, parameter mechanisms and procedural abstraction, concurrency, nondeterminism and the features of functional programming languages. Along the way, the text introduces and applies the relevant proof techniques, including forms of induction and notions of semantic equivalence (including bisimilarity). Thoroughly class-tested, this book has evolved from lecture notes used by the author over a 10-year period at Aalborg University to teach undergraduate and graduate students. The result is a thorough introduction that makes the subject clear to students and computing professionals without sacrificing its rigour. No experience with any specific programming language is required.List of illustrationsList of tablesPrefaceAbout the illustrationsPart I. Background1. A question of semantics2. Mathematical preliminariesPart II. First Examples3. The basic principles4. Basic imperative statementsPart III. Language Constructs5. Control structures6. Blocks and procedures (1)7. Parameters8. Concurrent communicating processes9. Structured declarations10. Blocks and procedures (2)11. Concurrent object-oriented languages12. Functional programming languagesPart IV. Related Topics13. Typed programming languages14. An introduction to denotational semantics15. Recursive definitionsAppendix A. A big-step semantics of BipAppendix B. Implementing semantic definitions in SMLReferencesIndex.