Reusable Components for Lightweight Mechanisation of Programming Languages

Abstract : Implementing Programming Languages (PLs) has always been a challenge for various reasons. One reason is the excess of routine tasks to be redone on every implementation cycle. This is despite the remarkable fraction of syntax and semantics usually shared between successive cycles. In this paper, we present a component-based approach to avoid reimplementation of shared PL fractions. We provide two sets of reusable components; one for syntax implementation and another for semantics. Our syntax and semantics components correspond to syntactic categories and semantics rules of a PL specification, respectively. We show how, in addition to their service to reusability in syntax and semantics, our components can cater reusable implementation of PL analyses.Our current level of experimentation suggests that this approach is applicable wherever the following two features are available or can be simulated: Type Constraints and Multiple Inheritance. Implementing a PL using our approach, however, requires some modest programming discipline that we will explain throughout the text.
Document type :
Conference papers
Complete list of metadatas

https://hal.inria.fr/hal-01492773
Contributor : Hal Ifip <>
Submitted on : Monday, March 20, 2017 - 3:34:50 PM
Last modification on : Tuesday, January 16, 2018 - 3:43:54 PM
Long-term archiving on : Wednesday, June 21, 2017 - 1:16:03 PM

File

978-3-642-39614-4_1_Chapter.pd...
Files produced by the author(s)

Licence


Distributed under a Creative Commons Attribution 4.0 International License

Identifiers

Citation

Seyed Haeri, Sibylle Schupp. Reusable Components for Lightweight Mechanisation of Programming Languages. 12th International Conference on Software Composition (SC), Jun 2013, Budapest, Hungary. pp.1-16, ⟨10.1007/978-3-642-39614-4_1⟩. ⟨hal-01492773⟩

Share

Metrics

Record views

151

Files downloads

135