KIT | KIT-Bibliothek | Impressum | Datenschutz

Growing a Language Environment with Editor Libraries

Erdweg, Sebastian ORCID iD icon 1; Kats, Lennart C. L.; Rendel, Tillmann; Kästner, Christian; Ostermann, Klaus; Visser, Eelco
1 Institut für Programmstrukturen und Datenorganisation (IPD), Karlsruher Institut für Technologie (KIT)

Abstract (englisch):

Large software projects consist of code written in a multitude of different (possibly domain-specific) languages, which are often deeply interspersed even in single files. While many proposals exist on how to integrate languages semantically and syntactically, the question of how to support this scenario in integrated development environments (IDEs) remains open: How can standard IDE services, such as syntax highlighting, outlining, or reference resolving, be provided in an extensible and compositional way, such that an open mix of languages is supported in a single file? Based on our library-based syntactic extension language for Java, SugarJ, we propose to make IDEs extensible by organizing editor services in editor libraries. Editor libraries are libraries written in the object language, SugarJ, and hence activated and composed through regular import statements on a file-by-file basis. We have implemented an IDE for editor libraries on top of SugarJ and the Eclipse-based Spoofax language workbench. We have validated editor libraries by evolving this IDE into a fully-fledged and schema-aware XML editor as well as an extensible LATEX editor, which we used for writing this paper.


Originalveröffentlichung
DOI: 10.1145/2047862.2047891
Dimensions
Zitationen: 22
Zugehörige Institution(en) am KIT Institut für Programmstrukturen und Datenorganisation (IPD)
Publikationstyp Proceedingsbeitrag
Publikationsdatum 22.10.2011
Sprache Englisch
Identifikator ISBN: 978-145030689-8
ISSN: 0362-1340
KITopen-ID: 1000188530
Erschienen in GPCE'11 - Proceedings of the 10th International Conference on Generative Programming and Component Engineering; Portland, OR, USA, 22.-23.10.2011
Veranstaltung 10th ACM International Conference on Generative Programming and Component Engineering (2011), Portland, OR, USA, 22.10.2011 – 23.10.2011
Verlag Association for Computing Machinery (ACM)
Seiten 167–176
Serie ACM SIGPLAN Notices ; 47
Schlagwörter language extensibility, library, DSL embedding, language workbench
Nachgewiesen in Scopus
Dimensions
OpenAlex
KIT – Die Universität in der Helmholtz-Gemeinschaft
KITopen Landing Page