You do not need to design your own languages and DSLs to benefit from MPS. You may well enjoy using languages designed and developed by somebody else. These languages are typically distributed as language plugins for Java IDEs or they may come bundled with their own standalone IDEs. Since using existing languages is a much simpler tasks than creating them, we prepared dedicated user guides covering the topics required by DSL users.
MPS comes with bundled help, which shows context-sensitive help information when you hit the F1 key. As an alternative you can view the help pages on-line. There are two possibilities:
Welcome to MPS. This User Guide 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.
In the third section, called Defining Languages, we'll get to the meat of MPS. We'll show details on how to define the many aspects of your custom languages - their structure, editors, generators and type systems rules. The IDE integration section will then provide some additional context necessary to help you improve the IDE aspect of your languages and integrate them nicely into MPS.
The Platform languages section gives you details on all languages bundled with MPS including the corner stone language of MPS - the BaseLanguage. Whatever didn't fit the mentioned scheme was placed into the last Miscelaneous section.
Don't forget to check out our tutorials and focused cookbooks listed in the Tutorials and Cookbooks sections, to learn more about individual aspects of MPS
Check out the FAQ document to get some of your questions answered before you even ask them.
Skip to end of metadata Go to start of metadata
Page: Base Language Page: Base Language Extensions Style Guide Page: Basic notions Page: Behavior Page: Build languages (obsolete) Page: Closures Page: Collections language Page: Constraints Page: Copyrights Page: Dates language Page: Data flow Page: Editor Page: Find usages Page: Generator Page: Intentions Page: Testing languages Page: MPS project structure Page: Plugin Page: Regexp language Page: SModel language Page: Structure Page: Tuples Page: Typesystem Page: Unit test language Page: XML language Page: Builders Page: Changes highlighting Page: Commanding the editor Page: Debugger Page: GWT Support Page: Other languages Page: Pattern Page: TextGen Page: Type Extension Methods Page: Cookbook - Type System Page: Dataflow Page: Version Control Page: BaseLanguage Coding Cookbook Page: HowTo -- Integrating into the MPS Make Framework Page: HowTo -- Adding additional Tools (aka Views) Page: HowTo -- Integration with the Data Flow Engine Page: HowTo -- MPS and Git Page: HowTo -- MPS and ant Page: FAQ Page: Regular expressions Page: Run Configurations Page: Using MPS Debugger Page: Building IntelliJ IDEA language plugins Page: Using MPS inside IntelliJ IDEA Page: Building MPS language plugins Page: MPS screen-casts Page: Finding your way out Page: Build Language Page: Extension support Page: Suppressing Errors Page: Refactoring Page: Dependencies Analyzer Page: Module Dependencies Tool Page: Building standalone IDEs for your languages Page: Commenting out Page: Documentation comments Page: MPS user guide for Java developers (IntelliJ IDEA) Page: Glossary Page: MPS user guide for DSL users Page: Where to find language plugins Page: IDE configuration Page: Scopes Page: Generator cookbook Page: Editor cookbook Page: Removing bootstrapping dependency problems Page: Fast Track to MPS Page: Open API - accessing models from code Page: Shapes - an introductory MPS tutorial Page: Building an interpreter cookbook Page: Removing sources from generated code Page: Console