The synthesizer generator: a system for constructing language-based editors
The synthesizer generator: a system for constructing language-based editors
Eli: a complete, flexible compiler construction system
Communications of the ACM
ACM Computing Surveys (CSUR)
Compositional design and implementation of domain-specific languages
Proceedings of the IFIP TC2 WG2.4 working conference on Systems implementation 2000 : languages, methods and tools: languages, methods and tools
Compiler Construction
Concepts and realization of a diagram editor generator based on hypergraph transformation
Science of Computer Programming - Special issue on applications of graph transformations (GRATRA 2000)
Building Application Generators
IEEE Software
Attribute Grammars in a Compiler Construction Environment
Proceedings on Attribute Grammars, Applications and Systems
CC '98 Proceedings of the 7th International Conference on Compiler Construction
Integrating a constraint solver into a real-time animation environment
VL '96 Proceedings of the 1996 IEEE Symposium on Visual Languages
Implementation of visual languages using pattern-based specifications
Software—Practice & Experience
Diagrams '08 Proceedings of the 5th international conference on Diagrammatic Representation and Inference
Hi-index | 0.00 |
Visual languages have an important role in modeling systems, specification of software, and in specific application domains. By using visual properties like spatial placement or line connections complex structures can be presented, so that humans can understand them quickly. Visual languages can be based on domain-specific metaphors, so that domain specialists can use their conventional way of description and abstraction. For working with a visual language, a specialized graphical frontend is needed. In contrast to textual languages, general purpose editors are insufficient for visual languages, because each visual language has its particular graphical requirements. The frontend should provide methods to aid efficient drawing and restructuring of visual expressions. Often, language-specific structure editors are used as frontends for visual languages. The visual program is stored in a language-dependent data structure. The user interacts with one or more visual representations. Edit operations are directly applied to the underlying structure and after a change the graphical representation is recomputed. The implementation of visual languages requires a wide range of conceptual and technical knowledge from issues of user interface design and graphical implementation to aspects of analysis and transformation for languages in general. We present a powerful toolset that incorporates such knowledge [C. Schmidt and U. Kastens. Implementation of visual languages using pattern-based specifications. Software - Practice and Experience, 35(2):121-131, Nov. 2003]. It generates editors from high level specifications: A language is specified by identifying certain patterns in the language structure, selecting a visual representation from a set of precoined solutions, and associating the pattern to constructs of the abstract grammar. A complete visual structure editor is generated from such a specification. It represents visual programs by attributed abstract trees. Therefore, further phases of processing visual programs can be generated by state-of-the-art tools for compiler construction. Even challenging visual languages can be implemented with reasonable small effort and with rather limited technical knowledge. The approach is suitable for a large variety of visual language styles.