The semantics of programming languages: an elementary introduction using structural operational semantics
Semantics with applications: a formal introduction
Semantics with applications: a formal introduction
The formal semantics of programming languages: an introduction
The formal semantics of programming languages: an introduction
Formal Syntax and Semantics of Programming Languages: A Laboratory Based Approach
Formal Syntax and Semantics of Programming Languages: A Laboratory Based Approach
Exploiting labels in Structural Operational Semantics
Proceedings of the 2004 ACM symposium on Applied computing
Proceedings of the 8th international workshop on Specification and verification of component-based systems
Understanding programming language concepts via operational semantics
Domain modeling and the duration calculus
Hi-index | 0.00 |
Most undergraduate courses on formal semantics are based on conventional Structural Operational Semantics (SOS) and/or Denotational Semantics. Typically, they give semantic descriptions of a series of small programming languages, starting from a very simple one, and subsequently extending it with various new features. For each extension, however, it is usually necessary to revisit the description of the constructs of the initial language, and reformulate it to take account of the new features - although the required reformulation is often so routine that it may be left as an exercise. In contrast, a course based on Modular SOS gives an independent description of each language construct, and no reformulation at all is needed when adding new features. Such a course has been given for 3rd-year undergraduates at the University of Aarhus, Denmark, 2001-2004. A further novelty of the course was to use substantial fragments of a real programming language (Standard ML) for illustration and exercises. Moreover, tool support for Modular SOS enabled the students to add their own descriptions of new constructs to a given language description, and to check empirically whether the resulting semantics of programs in the extended language was as intended.