Although most programming languages naturally share several language features, they are typically implemented as a monolithic product. Language features cannot be plugged and unplugged from a language and reused in another language. Some modular approaches to language construction do exist but composing language features requires a deep understanding of its implementation hampering their use. The choose and pick approach from software product lines provides an easy way to compose a language out of a set of language features. However, current approaches to language product lines are not sufficient enough to cope with the complexity and evolution of real world programming languages. In this work, we propose a general light-weight bottom-up approach to automatically extract a feature model from a set of tagged language components. We applied this approach to the Neverlang language development framework and developed the AiDE tool to guide language developers towards a valid language composition. The approach has been evaluated on a decomposed version of Javascript to highlight the benefits of such a language product line.
Choosy and picky: Configuration of Language Product Lines / T. Kühn, W. Cazzola, D.M. Olivares - In: Proceedings of the 19th International Software Product Line Conference (SPLC'15)[s.l] : ACM, 2015 Jul. - ISBN 9781450336130. - pp. 71-80 (( Intervento presentato al 19. convegno Software Product Line Conference tenutosi a Nashville, TN, USA nel 2015 [10.1145/2791060.2791092].
Choosy and picky: Configuration of Language Product Lines
W. CazzolaSecondo
;D.M. OlivaresUltimo
2015
Abstract
Although most programming languages naturally share several language features, they are typically implemented as a monolithic product. Language features cannot be plugged and unplugged from a language and reused in another language. Some modular approaches to language construction do exist but composing language features requires a deep understanding of its implementation hampering their use. The choose and pick approach from software product lines provides an easy way to compose a language out of a set of language features. However, current approaches to language product lines are not sufficient enough to cope with the complexity and evolution of real world programming languages. In this work, we propose a general light-weight bottom-up approach to automatically extract a feature model from a set of tagged language components. We applied this approach to the Neverlang language development framework and developed the AiDE tool to guide language developers towards a valid language composition. The approach has been evaluated on a decomposed version of Javascript to highlight the benefits of such a language product line.File | Dimensione | Formato | |
---|---|---|---|
p71-kuhn.pdf
accesso riservato
Tipologia:
Publisher's version/PDF
Dimensione
958.46 kB
Formato
Adobe PDF
|
958.46 kB | Adobe PDF | Visualizza/Apri Richiedi una copia |
Pubblicazioni consigliate
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.