Chapter 18 - Other Frameworks
Published online by Cambridge University Press: 19 January 2010
Summary
Denotational semantics has poor pragmatic features, due to its use of the λnotation.
Several so-called algebraic frameworks are essentially operational.
Genuinely axiomatic frameworks are prone to incompleteness and inconsistency.
Operational semantics is useful; action semantics makes it easier.
Action semantics is not the only available framework for giving formal semantic descriptions of programming languages. Other frameworks include denotational semantics, various kinds of algebraic semantics, axiomatic semantics, and operational semantics. What is wrong with them all? Why should one prefer action semantics—at least for describing full-scale, realistic programming languages?
Let us look briefly at most of the other frameworks in turn, pointing out their major defects in comparison to action semantics. To make the discussion accessible to those not familiar with the various frameworks, we indicate their main features, and cite primary references. However, a full appreciation of the comparisons requires in-depth familiarity with both action semantics and the other frameworks, as well as a more thorough discussion than can be provided here.
Almost all frameworks for formal semantics are based on context-free abstract syntax, although the notations that they use to specify abstract syntax are quite varied. The grammars that we use in action semantic descriptions perhaps have some significant advantages over other ways of specifying abstract syntax. But our main interest here is in the essential differences concerning the specification of semantics, once abstract syntax has been specified, so let us not pursue this point further.
- Type
- Chapter
- Information
- Action Semantics , pp. 207 - 216Publisher: Cambridge University PressPrint publication year: 1992