preprocessor: write original model in JSON output after computing pass

issue#70
houtanb 2017-06-23 14:20:48 +02:00
parent 95dda50de1
commit e6c5a8000b
3 changed files with 19 additions and 2 deletions

View File

@ -5538,6 +5538,12 @@ DynamicModel::writeJsonXrefs(ostream &output) const
output << "]}" << endl;
}
void
DynamicModel::writeJsonOriginalModelOutput(ostream &output) const
{
writeJsonModelEquations(output, false);
}
void
DynamicModel::writeJsonComputingPassOutput(ostream &output, bool writeDetails) const
{

View File

@ -239,6 +239,9 @@ public:
//! Write JSON Output
void writeJsonOutput(ostream &output) const;
//! Write JSON Output representation of original dynamic model
void writeJsonOriginalModelOutput(ostream &output) const;
//! Write JSON Output representation of dynamic model after computing pass
void writeJsonComputingPassOutput(ostream &output, bool writeDetails) const;

View File

@ -1366,6 +1366,11 @@ ModFile::writeJsonComputingPassOutput(const string &basename, JsonFileOutputType
dynamic_model.writeJsonComputingPassOutput(dynamic_output, false);
dynamic_output << "}" << endl;
ostringstream original_model_output;
original_model_output << "{";
original_model.writeJsonOriginalModelOutput(original_model_output);
original_model_output << "}" << endl;
ostringstream tmp_out, static_paramsd_output, static_paramsd_detail_output;
tmp_out << "";
static_paramsd_output << "";
@ -1406,7 +1411,8 @@ ModFile::writeJsonComputingPassOutput(const string &basename, JsonFileOutputType
if (json_output_mode == standardout)
{
cout << static_output.str() << endl
cout << original_model_output.str() << endl
<< static_output.str() << endl
<< dynamic_output.str() << endl;
if (!static_paramsd_output.str().empty())
@ -1435,10 +1441,12 @@ ModFile::writeJsonComputingPassOutput(const string &basename, JsonFileOutputType
exit(EXIT_FAILURE);
}
string fname_static, fname_dynamic;
string fname_original, fname_static, fname_dynamic;
fname_original = basename + "_original.json";
fname_static = basename + "_static.json";
fname_dynamic = basename + "_dynamic.json";
writeJsonFileHelper(fname_original, original_model_output);
writeJsonFileHelper(fname_static, static_output);
writeJsonFileHelper(fname_dynamic, dynamic_output);