Traditional compiler development is non-modular. Although syntax extension and DSL embedding is making its way back in modern language design and implementation, componentisation in compiler construction is still an overlooked matter. Neverlang is a language development framework that emphasises modularity and code reuse. Neverlang makes extension, restriction and feature sharing easier, by letting developers define language components in distinct, independent units, that can be compiled independently and shared across different language implementations, even in their compiled form. The semantics of the implemented languages can be specified using any JVM-supported language. In this paper we will present the architecture and implementation of Neverlang 2, by the help of an example inspired by mobile devices and context-dependent behaviour. The Neverlang framework is already being employed successfully in real-world environments.

Neverlang 2 : componentised language development for the JVM / W. Cazzola, E. Vacchi - In: Software composition : 12th international conference, SC 2013, Budapest, Hungary, june 19, 2013: proceedings / [a cura di] W. Binder, E. Bodden, W. Löwe. - Berlin : Springer, 2013. - ISBN 9783642396137. - pp. 17-32 (( Intervento presentato al 12. convegno International Conference on Software Composition (SC'13) tenutosi a Budapest, Hungary nel 2013 [10.1007/978-3-642-39614-4_2].

Neverlang 2 : componentised language development for the JVM

W. Cazzola
Primo
;
E. Vacchi
Ultimo
2013

Abstract

Traditional compiler development is non-modular. Although syntax extension and DSL embedding is making its way back in modern language design and implementation, componentisation in compiler construction is still an overlooked matter. Neverlang is a language development framework that emphasises modularity and code reuse. Neverlang makes extension, restriction and feature sharing easier, by letting developers define language components in distinct, independent units, that can be compiled independently and shared across different language implementations, even in their compiled form. The semantics of the implemented languages can be specified using any JVM-supported language. In this paper we will present the architecture and implementation of Neverlang 2, by the help of an example inspired by mobile devices and context-dependent behaviour. The Neverlang framework is already being employed successfully in real-world environments.
Domain-Specific Languages ; Language Design and Implementation ; Composability and Modularity
Settore INF/01 - Informatica
2013
Book Part (author)
File in questo prodotto:
Non ci sono file associati a questo prodotto.
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/224165
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 30
  • ???jsp.display-item.citation.isi??? ND
social impact