JetBrains MPS

from Wikipedia, the free encyclopedia
JetBrains

MPS.png
Basic data

developer JetBrains
Publishing year January 2005
Current  version 2020.1.2
( June 22, 2020 )
operating system MacOS , Windows , Linux
programming language Java
category Language Workbench
License Apache license, version 2.0
German speaking No
www.jetbrains.com/mps/

JetBrains MPS is a language workbench for metaprogramming developed by the company JetBrains .

history

JetBrains MPS was introduced to the public in June 2005 as part of an Early Access program . Martin Fowler published an article on MPS that same month. Version 1.0 was released four years later in 2009.

Functionality

MPS stands for Meta Programming System and follows the principle of so-called language - oriented programming . Problems are not solved in a general purpose language , but by means of a domain-specific language (DSL for short) tailored to a special area . Domain-specific languages ​​are programming languages ​​that are optimized for a specific area of ​​application. In particular, the abstractions and notations used by DSL are directly aligned with the domain. So-called language workbenches are used to reduce the effort involved in implementing DSLs.

MPS is such a language workbench and is characterized by a projecting editor that works directly on the abstract syntax tree of the language and therefore works without grammar and parser . This editor allows the mixing of graphic, textual, tabular and mathematical notations and offers extensive support for language modularization and expansion. This means that languages ​​can easily be modularized and combined. MPS is delivered with Java as standard , so that Java can also be expanded incrementally. Developers can also use MPS to build separate DSLs.

application

The following projects are based on MPS:

  • JetBrains YouTrack: bug tracker fully implemented with MPS.
  • The model workshop: domain-specific language for database modeling.
  • mbeddr: Integrated development environment with language extensions for C for developing embedded systems .
  • mps-xhtml-language: Integrated development environment for XHTML.
  • Not Your Ordinary Shell, a Unix Shell implementation.
  • PEoPL: Tool for developing software product lines

Web links

Individual evidence

  1. confluence.jetbrains.com .
  2. ^ The MPS Open Source Project on Open Hub: Languages ​​Page . In: Open Hub . (accessed on September 21, 2018).
  3. confluence.jetbrains.com . (accessed on February 19, 2019).
  4. JetBrains MPS. Retrieved October 18, 2016 .
  5. ^ A Language Workbench in Action - MPS. Retrieved November 17, 2016 .
  6. MPS 1.1 New Features Preview. Retrieved November 17, 2016 .
  7. ^ Fabien Campagne: MPS Language Workbench Programming System , CreateSpace Independent Publishing Platform, ISBN 1-5305-3335-X
  8. Markus Völter , Sascha Lisson: Supporting Diverse Notations in MPS 'Projectional Editor. (PDF) Retrieved November 17, 2016 .
  9. JetBrains Youtrack. Retrieved November 17, 2016 .
  10. The model workshop. Retrieved November 17, 2016 .
  11. mbeddr. (No longer available online.) Archived from the original on November 20, 2016 ; Retrieved November 17, 2016 . Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / mbeddr.com
  12. mps-xhtml-language. Retrieved November 17, 2016 .
  13. NYoSh - Not Your Ordinary Shell. Retrieved November 17, 2016 .
  14. PEoPL | Projectional Editing of Product Lines. Retrieved June 14, 2017 (American English).