Neverlang 2 – Componentised Language Development for the JVM

  • Walter Cazzola
  • Edoardo Vacchi
Conference paper

DOI: 10.1007/978-3-642-39614-4_2

Part of the Lecture Notes in Computer Science book series (LNCS, volume 8088)
Cite this paper as:
Cazzola W., Vacchi E. (2013) Neverlang 2 – Componentised Language Development for the JVM. In: Binder W., Bodden E., Löwe W. (eds) Software Composition. SC 2013. Lecture Notes in Computer Science, vol 8088. Springer, Berlin, Heidelberg


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 

Copyright information

© IFIP International Federation for Information Processing 2013

Authors and Affiliations

  • Walter Cazzola
    • 1
  • Edoardo Vacchi
    • 1
  1. 1.Department of Computer ScienceUniversità degli Studi di MilanoMilanoItaly

Personalised recommendations