Skeletal Semantics and their Interpretations
Résumé
The development of mechanised language specification based on structured operational semantics, with
applications to verified compilers and sound program analysis, requires huge effort. General theory and
frameworks have been proposed to help with this effort. However, none of this work provides a systematic way
of developing concrete and abstract semantics, connected together by a general consistency result. We introduce
a skeletal semantics of a language, where each skeleton describes the complete semantic behaviour of a language
construct. We define a general notion of interpretation, which provides a systematic and language-independent
way of deriving semantic judgements from the skeletal semantics. We explore four generic interpretations: a
simple well-formedness interpretation; a concrete interpretation; an abstract interpretation; and a constraint
generator for flow-sensitive analysis. We prove general consistency results between interpretations, depending
only on simple language-dependent lemmas. We illustrate our ideas using a simple While language.
Domaines
Langage de programmation [cs.PL]Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...