Skeletal Semantics and their Interpretations
2019
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.
Keywords:
- Correction
- Source
- Cite
- Save
- Machine Reading By IdeaReader
46
References
9
Citations
NaN
KQI