Print Email Facebook Twitter Domain-Specific Languages for Composable Editor Plugins Title Domain-Specific Languages for Composable Editor Plugins Author Kats, L.C.L. Kalleberg, K.T. Visser, E. Faculty Electrical Engineering, Mathematics and Computer Science Department Software Computer Technology Date 2009-12-31 Abstract This paper is a pre-print of: Lennart C. L. Kats, Karl T. Kalleberg, Eelco Visser. Domain-Specific Languages for Composable Editor Plugins. In T. Ekman and J. Vinju, editors, Proceedings of the Ninth Workshop on Language Descriptions, Tools, and Applications (LDTA’09), Electronic Notes in Theoretical Computer Science. York, United Kingdom, March 2009. Modern IDEs increase developer productivity by incorporating many different kinds of editor services. These can be purely syntactic, such as syntax highlighting, code folding, and an outline for navigation; or they can be based on the language semantics, such as in-line type error reporting and resolving identifier declarations. Building all these services from scratch requires both the extensive knowledge of the sometimes complicated and highly interdependent APIs and extension mechanisms of an IDE framework, and an in-depth understanding of the structure and semantics of the targeted language. This paper describes SPOOFAX/IMP, a meta-tooling suite that provides high-level domain-specific languages for describing editor services, relieving editor developers from much of the frameworkspecific programming. Editor services are defined as composable modules of rules coupled to a modular SDF grammar. The composability provided by the SGLR parser and the declaratively defined services allows embedded languages and language extensions to be easily formulated as additional rules extending an existing language definition. The service definitions are used to generate Eclipse editor plugins. We discuss two examples: an editor plugin for WebDSL, a domain-specific language for web applications, and the embedding of WebDSL in Stratego, used for expressing the (static) semantic rules of WebDSL. To reference this document use: http://resolver.tudelft.nl/uuid:53cf0bbe-6283-4731-bccc-904a8cd0ad80 Publisher Delft University of Technology, Software Engineering Research Group ISSN 1872-5392 Source Technical Repost Series TUD-SERG-2009-003a Other version https://doi.org/10.1016/j.entcs.2010.08.038 Part of collection Institutional Repository Document type report Rights (c) 2009. Software Engineering Research Group, Department of Software Technology, Faculty of Electrical Engineering, Mathematics and Computer Science, Delft University of Technology. All rights reserved. No part of this series may be reproduced in any form or by any means without prior written permission of the publisher. Files PDF TUD-SERG-2009-003.pdf 357.81 KB Close viewer /islandora/object/uuid:53cf0bbe-6283-4731-bccc-904a8cd0ad80/datastream/OBJ/view