Code reuse in computer language development is an open research problem. Feature-oriented programming is a vision of computer programming in which features can be implemented separately, and then combined to build a variety of software products; the idea of combining feature orientation and language development is relatively recent. Many frameworks for modular language development have been proposed during the years, but, although there is a strong connection between modularity and feature-orientation development, only few of these frameworks provide primitives to combine these two concepts. This work presents a model of modular language development that is directed towards feature orientation. We describe its implementation in the Neverlang framework. The model has been evaluated through several experiences: among the others, we present a code generator for a state machine language, that we use as a means to compare to other state-of-the-art frameworks, and a JavaScript interpreter implementation that further illustrates the capabilities of our solution.

PROGRAMMING LANGUAGES À LA CARTE / E. Vacchi ; advisor: W. Cazzola. DIPARTIMENTO DI INFORMATICA, 2015 Mar 13. 27. ciclo, Anno Accademico 2014. [10.13130/vacchi-edoardo_phd2015-03-13].

PROGRAMMING LANGUAGES À LA CARTE

E. Vacchi
2015

Abstract

Code reuse in computer language development is an open research problem. Feature-oriented programming is a vision of computer programming in which features can be implemented separately, and then combined to build a variety of software products; the idea of combining feature orientation and language development is relatively recent. Many frameworks for modular language development have been proposed during the years, but, although there is a strong connection between modularity and feature-orientation development, only few of these frameworks provide primitives to combine these two concepts. This work presents a model of modular language development that is directed towards feature orientation. We describe its implementation in the Neverlang framework. The model has been evaluated through several experiences: among the others, we present a code generator for a state machine language, that we use as a means to compare to other state-of-the-art frameworks, and a JavaScript interpreter implementation that further illustrates the capabilities of our solution.
13-mar-2015
Settore INF/01 - Informatica
programming languages; dsl; domain-specific languages; feature-oriented programming; programming; compilers; interpreters; language development
CAZZOLA, WALTER
Doctoral Thesis
PROGRAMMING LANGUAGES À LA CARTE / E. Vacchi ; advisor: W. Cazzola. DIPARTIMENTO DI INFORMATICA, 2015 Mar 13. 27. ciclo, Anno Accademico 2014. [10.13130/vacchi-edoardo_phd2015-03-13].
File in questo prodotto:
File Dimensione Formato  
phd_unimi_R09518.pdf

accesso aperto

Descrizione: Testo Tesi Completo
Tipologia: Tesi di dottorato completa
Dimensione 2.65 MB
Formato Adobe PDF
2.65 MB Adobe PDF Visualizza/Apri
Pubblicazioni consigliate

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2434/263620
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact