Although MPS comes with a rich set of languages and language extensions to make you a productive programmer and language designer from day one, the modular nature of MPS allows languages to be shared and combined freely. This page holds a list of additional languages that you may find useful for your applications.
Standard base languages
MPS without any extra add-ons supports these languages:
- Java (MPS BaseLanguage)
- XML (jetbrains.mps.core.xml)
- Ant (generated from the BuildLanguage)
MPS bundles numerous extensions to BaseLanguage, such as closures, collections API, regular expressions and a few more. You can check them all out in the User Guide.
Samples included in the distribution
MPS comes with a set of sample languages, both standalone and Java (BaseLanguage) extensions. They are typically located in your home folder in a folder named MPSSamples.version. MPS offers you a quick way to open them through the welcome screen.
These are a must for any serious development with MPS. The MPS extensions project bundles numerous handy utility languages as well as advanced notations that are freely available at the MPS Extensions site. You can expect, among other:
- tabular notations
- plain text language
- grammar cells to ease editor implementation
- shadow models (incremental on-the-fly model-to-model transformations)
- and a lot of others
Additional base languages
In order to benefit from MPS on platforms other than Java, our partners as well as the community members have been building support for existing general-purpose languages in MPS. With these plugins installed, MPS can integrate with other technologies and the DSLs can participate in wider range of projects.
- C - mbeddr.com
- R - MetaR (R plugin)
- Bash - NYoSh
- C# - mpscs
- JSON - MPS_JSON
The public language repository
Languages defined in MPS are typically distributed as packaged zip files that can be imported as plugins either into MPS or IntelliJ IDEA. Some language authors have published their languages into the JetBrains plugin repository, from where it is extremely easy to pick them up and start using.
New and featured languages
- LangDoc - language to document arbitrary nodes and parts of language definition
- CodeReviews - language to set and manage code review status to arbitrary nodes