Generator
Item | Description | ||||||
|---|---|---|---|---|---|---|---|
General | |||||||
Save transient models on generation | If this checkbox is selected, MPS asks during each generation whether the intermediate models should be kept. Keeping the models lets you 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, additional limitations are imposed on 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, MPS optimizes generation by skipping copying the input models before each generation step. 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 that generation might involve many intermediate model steps, constructing a scope for each dynamic reference in each step might take noticeable time. Using ‘static’ references may have a substantial effect on the performance of 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 no 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, you need 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 warnings 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 on 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 creates a 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 the M2T transformation part to address potential errors in TextGen aspects. | ||||||