Reusable Components for Lightweight Mechanisation of Programming Languages - Inria - Institut national de recherche en sciences et technologies du numérique
Communication Dans Un Congrès Année : 2013

Reusable Components for Lightweight Mechanisation of Programming Languages

Seyed (hossein) Haeri
  • Fonction : Auteur
  • PersonId : 1004344
Sibylle Schupp
  • Fonction : Auteur
  • PersonId : 1004345

Résumé

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
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

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

Licence

Identifiants

Citer

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⟩
107 Consultations
67 Téléchargements

Altmetric

Partager

More