MPS rocks Awesome

A curated list of awesome MPS extensions/libraries, software and resources.

Inspired by awesome-python and awesome-rust.

What Do You Want?

  • Understand what MPS is
  • See what others have been building with MPS
    • Build with MPS are open source projects that all build on MPS
    • Research contains a list academic papers that make heavy use of MPS
  • Get started with building stuff on top of MPS
    • To get stated we suggest to look at the tutorials in the following order
    • Fast track tutorial is the official tutorial for MPS. It will provide you with an high-level overview in 10 steps, covering all aspects of MPS at a high level.
    • MPS Intro Course by @markusvoelter is an advanced introduction to MPS in the form of multiple videos as well as a github repository to play around with. It also covers extensions to MPS such as additional notations or the interpreter framework.
    • Grammar Cells An extension to the editor language of MPS. It will help you to create consistent and well-behaving textual notations in MPS with no effort.
    • If you are specificly looking for input on how to build generators this guide contains a set of best practices.
    • The DSL Engineering Book contains detailed discussions of the concepts behind MPS in its Part III on language implementation.
    • For more details on specific MPS topics we refer to 2 books on MPS as well as the official MPS User Guide
    • Learning contains a list of even more tutorials
    • In addition Research contains a list academic papers that make heavy use of MPS
  • Find existing extensions for MPS
    • Awesome MPS contains a collection of extensions to MPS
  • Get in touch with the community

Awesome MPS

  • ANTLR_MPS - An ANTLR language for MPS, and the ToMPS language to help create MPS languages and ANTRL visitors from an ANTLR 4 grammar.
  • mps-code-reviewer - Code Review for JetBrains MPS providing integration with Bitbucket
  • ecmascript4mps - ECMAScript language implementation for JetBrains MPS
  • Editor2PDF - Serialises editor into PDF files
  • ingrid - Ingrid is a plugin for JetBrains MPS allowing import of ANTLRv4 grammars and create an MPS language out of it.
  • MPS Extensions - Various extensions to simplify language development.
  • MPS gradle plugin - A Gradle plugin to build & test langauges and to support various tasks related to custom RCP packaging.
  • PlantUML - Language for PlantUML models, also useful to generate PlantUML diagrams from custom DSL.
  • Simple Generator Editors - Simplified editors to increase readability of generators.
  • Text Generator Plugin - Alternative Textgen for JetBrains MPS using the standard model to model generation mechanisms.
  • Nyan Progress Bar - Pretty progress bars for IJ based IDEs.
  • MPS JSON Language - A JSON implementation for MPS.
  • digitalember.extensions - MPS baseLanguage editor extensions for better readability.

Build with MPS

  • FormatsDSL - A DSL to describe formats and generate loaders
  • Hardella IDE - Smart programming environment for PLC
  • iets3 - Base language for system modelling and specification including basics abstractions for components, expression, variability, etc
  • mbeddr - An extensible C implementation in MPS to support embedded software development.
  • MetaR - A IDE for R for people with limited computer science background.
  • PeoPL - A full IDE build upon MPS to manage Software Product Lines.
  • FASTEN - An IDE for system level formal specification. A stack of DSLs built on top of SMV, verified using the NuSMV model checker.





Your contributions are always welcome! Please take a look at the contribution guidelines first.