Edit | History | Changes Home page | Site map | Recent changes | Help

Description
Description of the course About the course

The two main topics of this course are both concerned with the cross-fertilization of Theory and Practice: Action Semantics is a practical approach to semantics, and takes account of "semantics engineering" issues such as the modularity, comprehensibility, and scalability of descriptions; Compiler Generation is a theoretically-based approach to compiler-writing, where compilers are produced from semantic descriptions in much the same way that parsers are produced from formal grammars.

The first half of the course presents Action Semantics (and may be taken as a separate 1-point course by PhD students). Action Semantics is based on a combination of Denotational and Operational Semantics, and the main principles of those frameworks are briefly reviewed at the start. The study of Action Semantics is supported by tools for testing the well-formedness and completeness of descriptions. The first half of the course concludes with a 2-week project involving the use of Action Semantics to describe a small programming language.

The second half of the course reviews the history of Compiler Generation, and studies state-of-the-art compiler-generators based on Action Semantics, Denotational Semantics, and Operational Semantics. The course concludes with a 1-week project involving a compiler-generator.

Further information about Action Semantics is available via the Action Semantics Home Page.


Version 1, Wed 31 Jan 2001 12:46:00 [pdm]


Edit | History | Changes Home page | Site map | Recent changes | Help