How to debug in MPS — September 21, 2017

How to debug in MPS

The quickest way to start debugging in MPS is the following:

We are using com.dslfoundry.plaintextgen as an example.

Please be advised that in (possibly earlier) generic distribution versions of MPS, the debugger doesn’t work. You will have to really use one of the dedicated distributions (Mac, Linux, or Windows).

  • Choose your breakpoint by clicking in the gutter:


  • Select Run –> Edit Configurations from the main menu:


  • Press + to choose from the list of new configuration types to add:


  • Choose MPS –> MPS Instance:


  • Check Open current project:


  • Type your own name for the run configuration (I chose MPSInstance):


  • Press OK to close the Run configuration screen and then select Run –> Debug MPSInstance from the main menu:


Now a second instance of MPS will be started (click away all the startup screens that come in).

With the given breakpoint, let’s inspect variables:

  • Trigger the code with the breakpoint by executing the Surround with Horizontal Collection intention:mps-debugging-8
  • Now the MPS instance is going to freeze, because the debugger paused it at the breakpoint. Go back to the original MPS window from where you started the debug session and view variables:mps-debugging-9

Tip: enable toolbar for having convenient debug buttons. You can do this by selecting View –> Toolbar from the main menu.

First pre-release of mps-textgen-multilanguage plugin — February 10, 2016

First pre-release of mps-textgen-multilanguage plugin

This plugin enables you to use the standard template mechanism of MPS (node macros, loop macros, property macros, etc.) to generate free text. So if you have some custom text format you want to generate to, you will have a more easy and useful mechanism than the standard MPS textgen.

Please see the mps-textgen-multilanguage github page for more details.

Download: mps-textgen-multilanguage first release tag.

Where are mbeddr builds located? —
Welcome to DSLFoundry! — November 3, 2015

Welcome to DSLFoundry!

Here we create and collect tools and libraries for Domain Specific Languages. You can see these on our projects page.

In addition, we will post some handy tips about DSL tools now and then in the posts further down this blog.

Please feel free to reuse our code and if you find bugs, please let us know via one of the github issue trackers. And of course you are welcome to contribute if you have any additions or enhancements.

How to rename an MPS project — October 29, 2015