Conference Paper/Proceeding/Abstract 1198 views
Generating specialized interpreters for modular structural operational semantics
Logic-Based Program Synthesis and Transformation, Volume: LNCS 8901, Pages: 220 - 236
Swansea University Author:
Peter Mosses
Full text not available from this repository: check for access using links below.
DOI (Published version): 10.1007/978-3-319-14125-1_13
Abstract
Modular Structural Operational Semantics (MSOS) is a variant of Structural Operational Semantics (SOS). It allows language constructs to be specified independently, such that no reformulation of existing rules in an MSOS specification is required when a language is extended with new constructs and f...
Published in: | Logic-Based Program Synthesis and Transformation |
---|---|
Published: |
2014
|
URI: | https://cronfa.swan.ac.uk/Record/cronfa20845 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Abstract: |
Modular Structural Operational Semantics (MSOS) is a variant of Structural Operational Semantics (SOS). It allows language constructs to be specified independently, such that no reformulation of existing rules in an MSOS specification is required when a language is extended with new constructs and features.Introducing the Prolog MSOS Tool, we recall how to synthesize executable interpreters from small-step MSOS specifications by compiling MSOS rules into Prolog clauses. Implementing the transitive closure of compiled small-step rules gives an executable interpreter in Prolog. In the worst case, such interpreters traverse each intermediate program term in its full depth, resulting in a significant overhead in each step.We show how to transform small-step MSOS specifications into corresponding big-step specifications via a two-step specialization by internalizing the rules implementing the transitive closure in MSOS and ‘refocusing’ the small-step rules. Specialized specifications result in generated interpreters with significantly reduced interpretive overhead. |
---|---|
College: |
Faculty of Science and Engineering |
Start Page: |
220 |
End Page: |
236 |