Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

A slightly advanced introduction to MPS: two languages, a generator, an interpreter, language composition and non-textual notations. Check out this Youtube playlist to understand the code. And explore the commits and branches for intermediate states.

N.B. Since MPS 2019.2, there are numbered branches in this repository which are corresponding with the numbers of the videos in the playlist. Be aware of that, since the videos don't refer to branches but rather to commits. If you want the old commit structure (which only works for MPS 2018.2), you can look in the maintenance/mps20182/* branches So for the code corresponding with video number 4, you will need to refer to the branch named 04-second-language-for-testing-statemachines. For versions of the code that work on older MPS releases than MPS 2020.3, please refer to the branches in maintenance/<mps_version>. As an extra support for obtaining KernelF for your MPS version, you can also refer to this DSLFoundry post

Getting started with the tutorial

  • Clone the repository git clone https://github.com/markusvoelter/mpsintrocourse.git
  • Navigate into the root folder of the repository
  • Execute ./gradlew or ./gradlew.bat
  • Download MPS 2020.3 https://www.jetbrains.com/mps/download/ (or https://www.jetbrains.com/mps/download/previous.html)
  • Open MPS and open the cloned directory as a project
  • Watch the videos N.B. Since MPS 2019.2, there are numbered branches in this repository which are corresponding with the numbers of the videos in the playlist. Be aware of that, since the videos don't refer to branches but rather to commits. If you want the old commit structure (which only works for MPS 2018.2), you can look in the maintenance/mps20182/* branches

More Tutorials

Videos

Basic Language Implementation

Generators

Expressions

Notations

  • A Tabular Notation for Tests
  • A Diagram Notation for State Machines

Testing

  • Language Testing

I will release the videos over time. I will announce each newly released video on Twitter @markusvoelter

Impressions

About

No description, website, or topics provided.

Resources

Packages

No packages published