Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Domain-specific language
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Tools for designing domain-specific languages== * [[JetBrains MPS]] is a tool for designing domain-specific languages. It uses [[Structure editor|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.<ref>{{cite web|url=https://www.jetbrains.com/mps/|title=JetBrains MPS: Domain-Specific Language Creator}}</ref> * [[MontiCore]] is a language workbench for the efficient development of domain-specific languages. It processes an extended grammar format that defines the DSL and generates Java components for processing the DSL documents.<ref>{{cite web|url=https://monticore.github.io/monticore/|title=MontiCore}}</ref> * [[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.<ref>{{cite web|url=https://eclipse.org/Xtext/|title=Xtext}}</ref> The project was archived in April 2023. * [[Racket (programming language)|Racket]] is a cross-platform language toolchain including native code, JIT and JavaScript compiler, IDE (in addition to supporting Emacs, Vim, VSCode and others) and command line tools designed to accommodate creating both domain-specific and general purpose languages.<ref name="languages-as-libraries">{{cite conference | last1 = Tobin-Hochstadt | first1 = S. | last2 = St-Amour | first2 = V. | last3 = Culpepper | first3 = R. | last4 = Flatt | first4 = M. | last5 = Felleisen | first5 = M. | title = Languages as Libraries | book-title = Programming Language Design and Implementation | year = 2011 | url = http://www.ccs.neu.edu/scheme/pubs/pldi11-thacff.pdf}} </ref><ref name="creating-languages">{{Cite news |last=Flatt |first=Matthew |title=Creating Languages in Racket |newspaper=Communications of the ACM |year=2012 |url=http://cacm.acm.org/magazines/2012/1/144809-creating-languages-in-racket |access-date=2012-04-08 }}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)