Generator
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.
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. | ||||||
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. |