MPS User Guide for Language Designers

Credits

Welcome to MPS. This User Guide is a complete reference documentation to MPS and it will navigate you through the many concepts and usage patterns that MPS offers and will give you a hand whenever you need to know more details about any particular aspect of the system.

Fundamentals

How to use the keyboard efficiently

Go to the Default keymap reference page to learn the most useful keyboard shortcuts.

Terms and names explained

Check out the Glossary page for explanation of frequently used terms.

Frequently Asked Questions (FAQ)

Check out the FAQ document to get some of your questions answered before you even ask them.

User guide for language designers

MPS project structure

MPS Java compatibility

Commanding the editor

IDE configuration

Getting dependencies right

Resolving difficulties, understanding reported errors

Where to find language plugins

Version Control

Using MPS Debugger

Console

Structure

Constraints

Behavior

SModel language

Pattern language

Editor

Diagramming editor

Transformation Menu Language

Context assistant

Context actions tool

Editor actions

Editor language generation API

Generator

Type-system

Dataflow

Scopes

Intentions

Testing

Scripts

Accessories

Refactoring

TextGen

Languages for IDE integration

Debugger

Integrating into the MPS make framework

Extension support

Stubs and custom persistence

Custom persistence cookbook

MPS and Ant

MPS and Git

HTTP support plugin

Dependencies Analyzer (Analyze model dependencies)

Module Dependencies Tool (Analyze module dependencies)

Run configurations

Changes highlighting

Default keymap reference

Module cloning

Platform Languages 

BaseLanguage

Base Language Extensions Style Guide

MPS Java compatibility

Concept Functions

Closures

Collections

Tuples

Lightweight DSL definition language

 

Dates language

Regular expressions language

Type Extension Methods

Builders

Logging

XML language

Other languages

Delivering languages to the users 

Extending the user interface

Removing sources from the generated artifacts

Tutorials

Cookbooks

Miscelaneous