Language workbench
A language workbench[1][2] is a software development tool designed to define, reuse and compose domain-specific languages together with their integrated development environment. Language workbenches support language-oriented programming. Language workbenches were introduced and popularized by Martin Fowler in 2005.
Language workbenches usually support:[1]
- Specification of the language concepts or metamodel
- Specification of the editing environments for the domain-specific language
- Specification of the execution semantics, e.g. through interpretation and code generation
Examples
- JetBrains MPS is a tool for designing domain-specific languages. It uses projectional editing which allows overcoming the limits of language parsers, and building DSL editors, such as ones with tables and diagrams. It implements language-oriented programming. MPS combines an environment for language definition, a language workbench, and an Integrated Development Environment (IDE) for such languages.[3]
- Xtext is an open-source software framework for developing programming languages and domain-specific languages (DSLs). Unlike standard parser generators, Xtext generates not only a parser, but also a class model for the abstract syntax tree. In addition, it provides a fully featured, customizable Eclipse-based IDE.[4]
- Kermeta is an open-source academic language workbench. [5] The Kermeta workbench uses three different meta-languages: one meta-language for the abstract syntax (aligned with Emof); one for the static semantics (aligned with OCL) and one for the behavioral semantics (called the Kermeta Language itself).
See also
- Compiler-compiler
- JetBrains MPS
- Intentional programming
- Category:Language workbench
References
- 1 2 Fowler, Martin. "LanguageWorkbench". Retrieved 14 April 2015.
- ↑ Fowler, Martin (12 June 2005). "Language Workbenches: The Killer-App for Domain Specific Languages?". Retrieved 14 April 2015.
- ↑ "JetBrains MPS: Domain-Specific Language Creator".
- ↑ "Xtext".
- ↑ Jézéquel, Jean-Marc; Combemale, Benoit; Barais, Olivier; Monperrus, Martin; Fouquet, François (2013). "Mashup of metalanguages and its implementation in the Kermeta language workbench" (PDF). Software & Systems Modeling. 14 (2): 905–920. doi:10.1007/s10270-013-0354-4.
External links
- Martin Fowler, Language Workbench
- Language Workbench Challenge
This article is issued from
Wikipedia.
The text is licensed under Creative Commons - Attribution - Sharealike.
Additional terms may apply for the media files.