DSL Development Environment
Learn
MPS

Design your own DSLs

With MPS you can design your own extensible DSLs and start using them right away to build end-user applications. Unique technology of projectional editing allows to overcome the limits of language parsers, and build much richer DSL editors, such as ones with tables and diagrams.

Learn MPS in 10 steps
Fast Track to MPS
Why JetBrains MPS

Introductory screen-cast to get an idea of what JetBrains MPS is and what you could use it for.

Watch video tutorial
MPS Projectional Editor

The most distinct feature of MPS is its projectional editor.

Watch video tutorial
Why the mbeddr.com project uses MPS

mbeddr.com explores the benefits of language extension and formal methods for embedded software development.

Watch video tutorial


Watch all videos

Built with MPS

Aveco — DSLs for describing the distributed architecture of our real-time systems and generating C++ code implementing the server, the client and the transportation layer

An extensible C language and IDE with support for formal verification, requirements and PLE

Meta R IDE — blending user interfaces and scripting to help biologist analyze data

JetBrains YouTrack — an innovative, keyboard-centric issue tracking and project tracking tool

die modellwerkstatt — developing business applications made easy

Customer Experience

Join our customers

Experts from different industries benifit from flexible Domain-specific languages enabled by MPS.

Books
DSL Engineering – Designing, Implementing and Using Domain-Specific Languages
Markus Voelter

DSL Engineering – Designing, Implementing and Using Domain-Specific Languages

The book explains the fundamental principles of using DSLs as part of modern development cycle showcasing JetBrains MPS as one of the tools that aim to make DSL development approachable.

Get the book
The MPS Language Workbench: Volume I
Fabien Campagne

The MPS Language Workbench: Volume I

The first volume of the series is both a simple introduction to the JetBrains MPS language workbench and a complete reference manual.

Get the book
The MPS Language Workbench: Volume II
Fabien Campagne

The MPS Language Workbench: Volume II

The second volume of the series explains how to customize the MPS platform to better integrate it with the needs of your languages.

Get the book
New
Features

What’s New in MPS 3.3

Custom language aspects

Custom language aspects

Language designers can now specify their own kinds of language definition aspect models. These may hold additional properties of concepts - e.g a documentation or an interpreter aspect.

Enhanced attribute support

Enhanced attribute support

Node attributes are now fully recognized by the Type-system, Generator and TextGen. Attributes are preserved during generation and may influence the control flow of the respective aspects.

Generic comment-out functionality

Generic comment-out functionality

Nodes of any concept can be commented out with a single key stroke. No explicit commenting support needs to be implemented in the languages themselves.