Abstract
The algebraic specification of the semantics of programming languages is outlined. Particular emphasis is given to the problem of specifying least-fixed points by first-order conditional equations. To cover this issue, the theory of specifying partial heterogeneous algebras by abstract data types is slightly extended by a more general notion of homomorphism. In this framework the semantics of programming languages can be uniquely specified in a purely algebraic way, using particular models of a hierarchy of abstract types. This approach is demonstrated for a simple procedural programming language. Several increasingly complex versions of iterations are treated and analyzed with respect to their theoretical consequences. Finally, as a complementary algebraic technique, transformational semantics is explained and applied to our examples.
Original language | English |
---|---|
Pages (from-to) | 54-99 |
Number of pages | 46 |
Journal | ACM Transactions on Programming Languages and Systems (TOPLAS) |
Volume | 9 |
Issue number | 1 |
DOIs | |
State | Published - 1 Jan 1987 |
Externally published | Yes |
Keywords
- Algebraic specification
- program transformation
- semantics