Ensuring non-interference of composable language extensions

Ted Kaminski, Eric Van Wyk

Research output: Chapter in Book/Report/Conference proceedingConference contribution

6 Scopus citations

Abstract

Extensible language frameworks aim to allow independentlydeveloped language extensions to be easily added to a host programming language. It should not require being a compiler expert, and the resulting compiler should "just work" as expected. Previous work has shown how specifications for parsing (based on context free grammars) and for semantic analysis (based on attribute grammars) can be automatically and reliably composed, ensuring that the resulting compiler does not terminate abnormally. However, thiswork does not ensure that a property proven to hold for a language (or extended language) still holds when another extension is added, a problemwe call interference.We present a solution to this problem using of a logical notion of coherence.We showthat a useful class of language extensions, implemented as attribute grammars, preserve all coherent properties. If we also restrict extensions to only making use of coherent properties in establishing their correctness, then the correctness properties of each extension will hold when composed with other extensions. As a result, there can be no interference: each extension behaves as specified.

Original languageEnglish (US)
Title of host publicationSLE 2017 - Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering, co-located with SPLASH 2017
EditorsBernhard Rumpe, Marjan Mernik, Benoit Combemale
PublisherAssociation for Computing Machinery, Inc
Pages163-174
Number of pages12
ISBN (Electronic)9781450355254
DOIs
StatePublished - Oct 23 2017
Event10th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2017 - Vancouver, Canada
Duration: Oct 23 2017Oct 24 2017

Publication series

NameSLE 2017 - Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering, co-located with SPLASH 2017

Other

Other10th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2017
Country/TerritoryCanada
CityVancouver
Period10/23/1710/24/17

Bibliographical note

Funding Information:
This material is based upon work supported by the National Science Foundation (NSF) under Grant No. 1047961. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect the views of the NSF.

Publisher Copyright:
© 2017 Association for Computing Machinery.

Keywords

  • Attribute grammars
  • Language extension composition

Fingerprint

Dive into the research topics of 'Ensuring non-interference of composable language extensions'. Together they form a unique fingerprint.

Cite this