Skeletal Semantics and their Interpretations

09/25/2018
by   Martin Bodin, et al.
0

Many meta-languages have been proposed for writing rule-based operational semantics, in order to provide general interpreters and analysis tools. We take a different approach. We develop a meta-language for 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 provide four generic interpretations of our skeletal semantics to yield: a simple well-formedness interpretation; a concrete interpretation; an abstract interpretation; and a constraint generator for flow-sensitive analysis. We prove general consistency results, establishing that the concrete and abstract interpretations are consistent and that any solution to the constraints generated by the constraint generator must be a correct abstract semantics.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/13/2023

Deriving Abstract Interpreters from Skeletal Semantics

This paper describes a methodology for defining an executable abstract i...
research
09/16/2023

A Categorical Framework for Program Semantics and Semantic Abstraction

Categorical semantics of type theories are often characterized as struct...
research
07/02/2021

Formal Semantics of a Classical-Quantum Language

We investigate the formal semantics of a simple imperative language that...
research
09/11/2022

Formal Semantics of the Kconfig Language

The Kconfig language defines a set of symbols that are assigned a value ...
research
10/10/2020

Automatically Deriving Control-Flow Graph Generators from Operational Semantics

We develop the first theory of control-flow graphs from first principles...
research
04/29/2015

Automating Abstract Interpretation of Abstract Machines

Static program analysis is a valuable tool for any programming language ...
research
08/27/2021

A denotational semantics for PROMELA addressing arbitrary jumps

PROMELA (Process Meta Language) is a high-level specification language d...

Please sign up or login with your details

Forgot password? Click here to reset