Reusable Components for Lightweight Mechanisation of Programming Languages - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2013

Reusable Components for Lightweight Mechanisation of Programming Languages

Seyed (hossein) Haeri
  • Function : Author
  • PersonId : 1004344
Sibylle Schupp
  • Function : Author
  • PersonId : 1004345

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.
Fichier principal
Vignette du fichier
978-3-642-39614-4_1_Chapter.pdf (1.35 Mo) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-01492773 , version 1 (20-03-2017)

Licence

Attribution

Identifiers

Cite

Seyed (hossein) 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⟩
98 View
63 Download

Altmetric

Share

Gmail Facebook X LinkedIn More