Output item removal
The MIR
does not have output items. Instead, we create
:: output_only
string declarations for each output section.
output ["foo\n"];
output :: "section" ["bar\n"];
output :: "section" ["qux\n"];
Becomes:
string: mzn_output :: output_only = concat(["foo\n"]);
string: mzn_output_section :: output_only = concat(["bar\n"] ++ ["qux\n"]);
We also make the :: output
variables explicit, so var
declarations with no
RHS definitions get :: output
added unless they are already marked as
:: output
or :: no_output
.