MPS 2021.1 Help

Generator

File | Settings | Generator for Windows and Linux
MPS | Preferences | Generator for macOS
Ctrl+Alt+S

settings
ItemDescription

General

Save transient models on generationIf this checkbox is selected, then MPS at each generation will ask whether the intermediate models should be kept. Keeping the models results in the ability to review the generation trace.
Check models for errors before generationIf this checkbox is selected, MPS launches the model checker before generation.
Strict modeIf this checkbox is selected, then additional limitations are introduced to the language generators, to enable incremental and parallel generation.
Generate in parallelIf this checkbox is selected, parallel generation of roots on the specified number of cores is enabled.
Use <n> coresSpecify here the number of cores to be used for parallel generation.

These checkboxes are only available when Strict mode is selected.

Incremental generationIf this checkbox is selected, then MPS optimizes the number of the generated roots.
Cache intermediate modelsIf this checkboxes is selected, then the intermediate models will be stored, which provides additional possibilities for the incremental generation, that is enables faster generation on account of disk space.

These checkboxes are only available when Strict mode is selected.

Resort to static referencesWhen a reference macro returns a string as a reference target, MPS creates a dynamic reference. Dynamic references are more expensive to resolve than regular ‘static’ references, as the resolution of dynamic references involves scope construction. If this checkbox is selected, MPS tries to resolve the targets of dynamic references and replace them with regular static references as soon as the dynamic references are returned from a reference macro. A static reference saves scope resolution the next time the reference is accessed. Given there might potentially be quite a lot of steps of intermediate models during generation, constructing a scope for each dynamic reference in each step might take noticeable time. Using ‘static’ references may have substantial effect on performance of the generation. However, if the reference macros in your project don’t use strings and instead provide proper nodes or node-ptrs as reference targets, this option has not observable effect.

Error reporting

Show information messagesIf this checkbox is selected, then generation information messages will be displayed in the Messages tool window. Clicking on an error message navigates to the corresponding location in the source code.

To provide the ability to navigate to an error in the source code, one has to preserve models containing errors (by default, these models are discarded).

Show warningsIf this checkbox is selected, MPS displays both error messages and warnings.
Keep transient models with warningsIf this checkbox is selected, the specified number of the intermediate models containing warnings are preserved. However, enabling this option results in heavy usage of the disk space.

Otherwise, the intermediate models with no errors are discarded.

Warn when child cannot be placed into roleIf this checkbox is selected, a warning will be reported for any child node inserted into an inappropriate role during generation.
Warn static reference could not replace dynamicIf this checkbox is selected, a warning will be reported whenever a dynamic reference fails to be resolved to a static reference during generation.

These checkboxes are only available when Show warning is selected.

Maximum number of transient models to keepSpecify the maximum number of intermediate generated models to be kept.

Model generation performance report

NoneIf this option is selected, no report is displayed after each model generation.
Generation steps onlyIf this option is selected, time spent for each model generation is displayed.
Time spent in language generatorsSelecting this option enables you to evaluate which languages slow down generation.
Time spent in types calculationSelecting this option enables you to optimize the usage of type systems in the generators.

TextGen Options

Fail if textgen not foundIf this checkbox is selected, an error is reported, if textgen file is not found.

The latest intermediate model is saved as a text file. By default, if conversion to text is not defined, this file contains the text "textgen not found".

Generate debug informationIf this checkbox is selected, MPS create trace.info file for each model, containing information for the MPS debugger.
Last modified: 08 March 2021