Domain-specific languages for composable editor plugins (2009)
Venue: | Language Descriptions, Tools, and Applications (LDTA 2009), ENTCS |
Citations: | 7 - 4 self |
Citations
314 |
Eclipse Modeling Framework
- Budinsky, Brodsky, et al.
- 2003
(Show Context)
Citation Context ...al symbols. The composed grammar is parsed by dynamically switching to the respective parser and lexer of one of the constituent grammars, depending on the current state of the parser. In oAW, an EMF =-=[4]-=- meta-model is generated in addition to the parser. Language semantics is expressed as constraints upon this model, either using an OCL-like language, or, optionally, using Java. oAW does not support ... |
148 |
The synthesizer generator.
- Reps, Teitelbaum
- 1984
(Show Context)
Citation Context ...icant portion of which is dedicated to structured, or syntax-directed, editors. Notable early examples include the Program Synthesizer (PG), a structured program editor, and the Synthesizer Generator =-=[16]-=- (SG), a generator for program editors (program synthesizers). Both SG and Spoofax/IMP provide composable language specifications, and therefore support language extensions and language families. In S... |
110 | Concrete syntax for objects: Domain-specific language embedding and assimilation without restrictions
- Bravenboer, Visser
- 2004
(Show Context)
Citation Context ...y to customize aspects of a component. Reuse is particularly important when considering language extension and embedding, as occurs for example in scenarios such as domain-specific language embedding =-=[3,1]-=-, and meta-programming with concrete object syntax [3]. Ideally, language combinations are defined modularly, and likewise their IDE support should be composed from IDE support for the constituent lan... |
92 | Disambiguation filters for scannerless generalized LR parsers.
- Brand, Scheerder, et al.
- 2002
(Show Context)
Citation Context ...by their nature undesirable, and not always trivial to discover, especially in composed grammars. Using explicit, declarative restrictions and priority orderings on the grammar, these can be resolved =-=[19]-=-. Other methods, including PEGs [8], language inheritance in MontiCore, and the composite grammars of ANTLR, avoid this by forcing an ordering on the alternatives of a production – the first (or last)... |
87 | Packrat parsing: Simple, powerful, lazy, linear time.
- Ford
- 2002
(Show Context)
Citation Context ... always trivial to discover, especially in composed grammars. Using explicit, declarative restrictions and priority orderings on the grammar, these can be resolved [19]. Other methods, including PEGs =-=[8]-=-, language inheritance in MontiCore, and the composite grammars of ANTLR, avoid this by forcing an ordering on the alternatives of a production – the first (or last) definition overrides the others. T... |
78 | Generation of formatters for contextfree languages
- Brand, Visser
- 1996
(Show Context)
Citation Context ...nclosed comments and parentheses. Thus, the descriptor specifies which pairs of strings make up parentheses, and which form comments. Code fragments can be formatted using the Box formatting language =-=[20]-=-. Box allows for very flexible formatting specifications based on nested layout boxes. It supports indentation and table-based formatting. We provide this as an editor service to format code in a subj... |
60 | Stratego/XT 0.17. A language and toolset for program transformation. Science of computer programming
- Bravenboer, Kalleberg, et al.
- 2008
(Show Context)
Citation Context ...is based on the IMP framework [5], which is designed to be interoperable with different parsers and other tooling, making it usable for our system. Furthermore, Spoofax/IMP uses the Stratego language =-=[2]-=- for describing the (static) semantic rules of a language, used for editor services such as cross-referencing and error reporting. For interoperability with the IMP framework, we applied a variation o... |
52 | Origin tracking
- Deursen, Klint, et al.
- 1993
(Show Context)
Citation Context ...ct model adapter (POM) technique, previously used to integrate Stratego and an open compiler [10]. To support IDE feedback in combination with tree transformations, we apply a form of origin tracking =-=[21]-=- by adapting Stratego’s generic tree traversal operators to track origins during rewrites. This paper is organized as follows. First, we describe the definition of editor services, discussing services... |
49 | MontiCore: Modular Development of Textual Domain Specific Languages
- Krahn, Rumpe, et al.
- 2008
(Show Context)
Citation Context .... Language development environments facilitate efficient development of language processing tools. While in recent years a considerable number of language development environments have been developed =-=[5,7,12,14,15,17,18]-=-, they offer limited support for modular and reusable editor definitions, with the exception of MontiCore [14,15] and the Meta-Environment [17,18]. MontiCore offers a certain degree of support for lan... |
46 | Webdsl: A case study in domain-specific language engineering.
- Visser
- 2008
(Show Context)
Citation Context ...a language evolves. When a language definition evolves, the generated components of an editor can simply be re-generated. We have applied these techniques to WebDSL, a mature domain-specific language =-=[22,9]-=- for web application development, which serves as running example in this paper. The implementation of Spoofax/IMP is based on the IMP framework [5], which is designed to be interoperable with differe... |
37 | A pretty-printer for every occasion
- Jonge
- 2000
(Show Context)
Citation Context ... 7 illustrates some example formatting rules, including vertical (V) and horizontal (H) boxes. These rules format WebDSL code similar to the code in Figure 1. Using the generic pretty printer package =-=[6]-=-, part of the Stratego/XT toolset [2], we can automatically derive pretty printers from grammars. 3 Semantic Editor Services Semantic editor services include highlighting of semantic errors, providing... |
34 | Preventing Injection Attacks with Syntax Embeddings.
- Bravenboer, Dolstra, et al.
- 2007
(Show Context)
Citation Context ...y to customize aspects of a component. Reuse is particularly important when considering language extension and embedding, as occurs for example in scenarios such as domain-specific language embedding =-=[3,1]-=-, and meta-programming with concrete object syntax [3]. Ideally, language combinations are defined modularly, and likewise their IDE support should be composed from IDE support for the constituent lan... |
22 | Efficient editor generation for compositional DSLs in Eclipse
- KRAHN, RUMPE, et al.
- 2007
(Show Context)
Citation Context .... Language development environments facilitate efficient development of language processing tools. While in recent years a considerable number of language development environments have been developed =-=[5,7,12,14,15,17,18]-=-, they offer limited support for modular and reusable editor definitions, with the exception of MontiCore [14,15] and the Meta-Environment [17,18]. MontiCore offers a certain degree of support for lan... |
21 | Code Generation by Model Transformation. A Case Study
- Hemel, Kats, et al.
- 2008
(Show Context)
Citation Context ...a language evolves. When a language definition evolves, the generated components of an editor can simply be re-generated. We have applied these techniques to WebDSL, a mature domain-specific language =-=[22,9]-=- for web application development, which serves as running example in this paper. The implementation of Spoofax/IMP is based on the IMP framework [5], which is designed to be interoperable with differe... |
16 |
IMP: a meta-tooling platform for creating language-specific IDEs in Eclipse
- CHARLES, FUHRER, et al.
- 2007
(Show Context)
Citation Context .... Language development environments facilitate efficient development of language processing tools. While in recent years a considerable number of language development environments have been developed =-=[5,7,12,14,15,17,18]-=-, they offer limited support for modular and reusable editor definitions, with the exception of MontiCore [14,15] and the Meta-Environment [17,18]. MontiCore offers a certain degree of support for lan... |
12 | Decorated attribute grammars: Attribute evaluation meets strategic programming
- KATS, SLOANE, et al.
(Show Context)
Citation Context ...iefly reported on in this paper. In other previous work, we have applied strategic programming in the field of attribute grammars, allowing high-level, declarative specifications of semantic analyses =-=[13]-=-. In the future, we want to use these as a basis for defining semantic editor services. In particular, we want to investigate the feasibility of using such specifications for achieving full compositio... |
12 |
Using the Meta-Environment for maintenance and renovation
- BRAND, BRUNTINK, et al.
- 2007
(Show Context)
Citation Context .... Language development environments facilitate efficient development of language processing tools. While in recent years a considerable number of language development environments have been developed =-=[5,7,12,14,15,17,18]-=-, they offer limited support for modular and reusable editor definitions, with the exception of MontiCore [14,15] and the Meta-Environment [17,18]. MontiCore offers a certain degree of support for lan... |
8 |
Providing rapid feedback in generated modular language environments. Adding error recovery to scannerless generalized-LR parsing
- KATS, JONGE, et al.
- 2009
(Show Context)
Citation Context ...hould also try to parse the remainder of a file to ensure (partial) functionality of editor services. We recently addressed this issue and made a prototype implementation of JSGLR with error recovery =-=[11]-=-. 7 Conclusion and Future Work Providing high-quality IDE support has become paramount to the success of a new programming language. The implementation effort required for a solid, custombuilt IDE is ... |
5 |
et al. openArchitectureWare User Guide. Version 4.3. Available from http://www.eclipse. org/gmt/oaw/doc/4.3/html/contents
- Efftinge
- 2008
(Show Context)
Citation Context .... Language development environments facilitate efficient development of language processing tools. While in recent years a considerable number of language development environments have been developed =-=[5,7,12,14,15,17,18]-=-, they offer limited support for modular and reusable editor definitions, with the exception of MontiCore [14,15] and the Meta-Environment [17,18]. MontiCore offers a certain degree of support for lan... |
5 | Fusing a transformation language with an open compiler.
- Kalleberg, Visser
- 2007
(Show Context)
Citation Context ...nd error reporting. For interoperability with the IMP framework, we applied a variation of the program object model adapter (POM) technique, previously used to integrate Stratego and an open compiler =-=[10]-=-. To support IDE feedback in combination with tree transformations, we apply a form of origin tracking [21] by adapting Stratego’s generic tree traversal operators to track origins during rewrites. Th... |
5 | Generating editors for embedded languages. integrating SGLR into IMP
- Kats, Kalleberg, et al.
- 2008
(Show Context)
Citation Context .... Language development environments facilitate efficient development of language processing tools. While in recent years a considerable number of language development environments have been developed =-=[5,7,12,14,15,17,18]-=-, they offer limited support for modular and reusable editor definitions, with the exception of MontiCore [14,15] and the Meta-Environment [17,18]. MontiCore offers a certain degree of support for lan... |
2 |
den Brand. Applications of the Asf+Sdf Meta-Environment
- van
- 2006
(Show Context)
Citation Context .... Language development environments facilitate efficient development of language processing tools. While in recent years a considerable number of language development environments have been developed =-=[5,7,12,14,15,17,18]-=-, they offer limited support for modular and reusable editor definitions, with the exception of MontiCore [14,15] and the Meta-Environment [17,18]. MontiCore offers a certain degree of support for lan... |