- Source: Language workbench
A language workbench is a tool or set of tools that enables software development in the language-oriented programming software development paradigm. A language workbench will typically include tools to support the definition, reuse and composition of domain-specific languages together with their integrated development environment. Language workbenches were introduced and popularized by Martin Fowler in 2005.
Language workbenches usually support:
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
Racket is a cross-platform language development workbench including compiler, JIT compiler, IDE and command-line tools designed to accommodate creating both domain-specific languages and completely new languages with facilities to add new notation, constrain constructs, and create IDE tools.
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.
Kermeta is an open-source academic language workbench. 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).
Melange is a language workbench that provides a modular approach for customizing, assembling and integrating multiple domain-specific language (DSL) specifications and implementations.
Spoofax. is an open-source language workbench for generating parsers, type checkers, compilers, interpreters, as well as IDE plugins for Eclipse and IntelliJ. It uses SDF and a scannerless GLR parser for syntax, and formalisms derived from Stratego/XT for semantics.
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.
Meeduse is an EMF-based framework that allows one to build, prove and animate executable domain-specific languages (xDSLs) using the B Method. The tool embeds ProB, and animator and model-checker of the B Method.
See also
Language-oriented programming
Compiler-compiler
Intentional programming
Category:Language workbench
References
External links
Martin Fowler, Language Workbench
Language Workbench Challenge
Kata Kunci Pencarian:
- Eclipse (perangkat lunak)
- Biologi sistem
- SDL Trados Studio
- SMILES
- Less
- Porta (jaringan komputer)
- Graph database
- Language workbench
- Domain-specific language
- Language-oriented programming
- JetBrains MPS
- Racket (programming language)
- MySQL Workbench
- Workbench (disambiguation)
- Workbench (AmigaOS)
- Ruby (programming language)
- PlantUML