MPS 2023.3 Help

Generator

settings

Item

Description

General

Save transient models on generation

If 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 generation

If this checkbox is selected, MPS launches the model checker before generation.

Strict mode

If this checkbox is selected, then additional limitations are introduced to the language generators, to enable incremental and parallel generation.

Generate in parallel

If this checkbox is selected, parallel generation of roots on the specified number of cores is enabled.

Use <n> cores

Specify here the number of cores to be used for parallel generation.

This checkbox is only available when Strict mode is selected.

Apply transformations in place

If this checkbox is selected, then MPS optimizes generation by skipping creating copies of the input models before each generationstep. Instead, the input models are modified in place.

Resort to static references

When 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 messages

If 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 warnings

If this checkbox is selected, MPS displays both error messages and warnings.

Keep transient models with warnings

If 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 role

If 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 dynamic

If 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 keep

Specify the maximum number of intermediate generated models to be kept.

Model generation performance report

None

If this option is selected, no report is displayed after each model generation.

Generation steps only

If this option is selected, time spent for each model generation is displayed.

Time spent in language generators

Selecting this option enables you to evaluate which languages slow down generation.

Time spent in types calculation

Selecting this option enables you to optimize the usage of type systems in the generators.

TextGen Options

Generate debug information

If this checkbox is selected, MPS create trace.info file for each model, containing information for the MPS debugger.

M2T timeout

Specify the time limit for model-to-text generation to finish. MPS caps the time spent in M2T transformation part to address potential errors in TextGen aspects.

Last modified: 07 March 2024