The idea to treat domain-specific languages (DSL) as software product lines (SPL) of compilers/interpreters led to the introduction of language product lines (LPL). Although there exist various methodologies and tools for designing LPLs, they fail to provide basic IDE services for language variants-such as, syntax highlighting, auto completion, and debugging support-that programmers normally expect. While state-of-the-art language development tools permit the generation of basic IDE services for a specific language variant, most tools fail to consider and support reuse of basic IDE services of families of DSLs. Consequently, to provide basic IDE services for an LPL, one either generates them for the many language variants or designs a separate SPL of IDEs scattering language concerns. In contrast, we aim to piggyback basic IDE services on language features and provide an IDE for LPLs, which fosters their reuse when generating language variants. In detail, we extended the Neverlang language workbench to permit piggybacking syntax highlighting and debugging support on language components. Moreover, we developed an LPL-driven Eclipse-based plugin that includes a syntax highlighting editor and debugger for an LPL with piggybacked basic IDE services, i.e., where modular language features include the definition for syntax highlighting and debugging. Within this work, we introduce a general mechanism for fostering the basic IDE services' reuse and demonstrate its feasibility by realizing context-aware syntax highlighting for a Java-based family of role-oriented programming languages and providing debugging support for the family of JavaScript-based languages.

Piggyback IDE support for language product lines / T. Kühn, W. Cazzola, N. PIRRITANO GIAMPIETRO, M. Poggi - In: SPLC '19: Proceedings[s.l] : ACM, 2019 Sep. - ISBN 9781450371384. - pp. 1-12 (( Intervento presentato al 23. convegno International Systems and Software Product Line Conference: Volume A tenutosi a Paris nel 2019 [10.1145/3336294.3336301].

Piggyback IDE support for language product lines

W. Cazzola
;
N. PIRRITANO GIAMPIETRO;
2019

Abstract

The idea to treat domain-specific languages (DSL) as software product lines (SPL) of compilers/interpreters led to the introduction of language product lines (LPL). Although there exist various methodologies and tools for designing LPLs, they fail to provide basic IDE services for language variants-such as, syntax highlighting, auto completion, and debugging support-that programmers normally expect. While state-of-the-art language development tools permit the generation of basic IDE services for a specific language variant, most tools fail to consider and support reuse of basic IDE services of families of DSLs. Consequently, to provide basic IDE services for an LPL, one either generates them for the many language variants or designs a separate SPL of IDEs scattering language concerns. In contrast, we aim to piggyback basic IDE services on language features and provide an IDE for LPLs, which fosters their reuse when generating language variants. In detail, we extended the Neverlang language workbench to permit piggybacking syntax highlighting and debugging support on language components. Moreover, we developed an LPL-driven Eclipse-based plugin that includes a syntax highlighting editor and debugger for an LPL with piggybacked basic IDE services, i.e., where modular language features include the definition for syntax highlighting and debugging. Within this work, we introduce a general mechanism for fostering the basic IDE services' reuse and demonstrate its feasibility by realizing context-aware syntax highlighting for a Java-based family of role-oriented programming languages and providing debugging support for the family of JavaScript-based languages.
Domain specific languages; Feature modularity; Integrated development environment; Language product lines; Neverlang
Settore INF/01 - Informatica
set-2019
BigLever Software Inc.
pure-systems GmbH
Book Part (author)
File in questo prodotto:
File Dimensione Formato  
splc19-published.pdf

accesso riservato

Tipologia: Publisher's version/PDF
Dimensione 1.27 MB
Formato Adobe PDF
1.27 MB Adobe PDF   Visualizza/Apri   Richiedi una copia
splc19-camera.pdf

accesso riservato

Tipologia: Post-print, accepted manuscript ecc. (versione accettata dall'editore)
Dimensione 901.21 kB
Formato Adobe PDF
901.21 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.

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