preprocessor: JSON output for statements, #1387
parent
181ffd65c5
commit
1007ea1301
File diff suppressed because it is too large
Load Diff
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2003-2016 Dynare Team
|
* Copyright (C) 2003-2017 Dynare Team
|
||||||
*
|
*
|
||||||
* This file is part of Dynare.
|
* This file is part of Dynare.
|
||||||
*
|
*
|
||||||
|
@ -36,6 +36,7 @@ public:
|
||||||
SteadyStatement(const OptionsList &options_list_arg);
|
SteadyStatement(const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CheckStatement : public Statement
|
class CheckStatement : public Statement
|
||||||
|
@ -46,6 +47,7 @@ public:
|
||||||
CheckStatement(const OptionsList &options_list_arg);
|
CheckStatement(const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SimulStatement : public Statement
|
class SimulStatement : public Statement
|
||||||
|
@ -56,6 +58,7 @@ public:
|
||||||
SimulStatement(const OptionsList &options_list_arg);
|
SimulStatement(const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PerfectForesightSetupStatement : public Statement
|
class PerfectForesightSetupStatement : public Statement
|
||||||
|
@ -65,6 +68,7 @@ private:
|
||||||
public:
|
public:
|
||||||
PerfectForesightSetupStatement(const OptionsList &options_list_arg);
|
PerfectForesightSetupStatement(const OptionsList &options_list_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PerfectForesightSolverStatement : public Statement
|
class PerfectForesightSolverStatement : public Statement
|
||||||
|
@ -75,6 +79,7 @@ public:
|
||||||
PerfectForesightSolverStatement(const OptionsList &options_list_arg);
|
PerfectForesightSolverStatement(const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PriorPosteriorFunctionStatement : public Statement
|
class PriorPosteriorFunctionStatement : public Statement
|
||||||
|
@ -86,6 +91,7 @@ public:
|
||||||
PriorPosteriorFunctionStatement(const bool prior_func_arg, const OptionsList &options_list_arg);
|
PriorPosteriorFunctionStatement(const bool prior_func_arg, const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ModelInfoStatement : public Statement
|
class ModelInfoStatement : public Statement
|
||||||
|
@ -96,6 +102,7 @@ public:
|
||||||
ModelInfoStatement(const OptionsList &options_list_arg);
|
ModelInfoStatement(const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class StochSimulStatement : public Statement
|
class StochSimulStatement : public Statement
|
||||||
|
@ -108,6 +115,7 @@ public:
|
||||||
const OptionsList &options_list_arg);
|
const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ForecastStatement : public Statement
|
class ForecastStatement : public Statement
|
||||||
|
@ -119,6 +127,7 @@ public:
|
||||||
ForecastStatement(const SymbolList &symbol_list_arg,
|
ForecastStatement(const SymbolList &symbol_list_arg,
|
||||||
const OptionsList &options_list_arg);
|
const OptionsList &options_list_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class RamseyModelStatement : public Statement
|
class RamseyModelStatement : public Statement
|
||||||
|
@ -131,6 +140,7 @@ public:
|
||||||
const OptionsList &options_list_arg);
|
const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class RamseyConstraintsStatement : public Statement
|
class RamseyConstraintsStatement : public Statement
|
||||||
|
@ -143,11 +153,13 @@ public:
|
||||||
};
|
};
|
||||||
typedef vector<Constraint> constraints_t;
|
typedef vector<Constraint> constraints_t;
|
||||||
private:
|
private:
|
||||||
|
const SymbolTable &symbol_table;
|
||||||
const constraints_t constraints;
|
const constraints_t constraints;
|
||||||
public:
|
public:
|
||||||
RamseyConstraintsStatement(const constraints_t &constraints_arg);
|
RamseyConstraintsStatement(const SymbolTable &symbol_table_arg, const constraints_t &constraints_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
// virtual Statement *cloneAndReindexSymbIds(DataTree &dynamic_datatree, SymbolTable &orig_symbol_table);
|
// virtual Statement *cloneAndReindexSymbIds(DataTree &dynamic_datatree, SymbolTable &orig_symbol_table);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -164,6 +176,7 @@ public:
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
void checkRamseyPolicyList();
|
void checkRamseyPolicyList();
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class DiscretionaryPolicyStatement : public Statement
|
class DiscretionaryPolicyStatement : public Statement
|
||||||
|
@ -176,6 +189,7 @@ public:
|
||||||
const OptionsList &options_list_arg);
|
const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class RplotStatement : public Statement
|
class RplotStatement : public Statement
|
||||||
|
@ -185,6 +199,7 @@ private:
|
||||||
public:
|
public:
|
||||||
RplotStatement(const SymbolList &symbol_list_arg);
|
RplotStatement(const SymbolList &symbol_list_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class UnitRootVarsStatement : public Statement
|
class UnitRootVarsStatement : public Statement
|
||||||
|
@ -192,6 +207,7 @@ class UnitRootVarsStatement : public Statement
|
||||||
public:
|
public:
|
||||||
UnitRootVarsStatement(void);
|
UnitRootVarsStatement(void);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PeriodsStatement : public Statement
|
class PeriodsStatement : public Statement
|
||||||
|
@ -201,6 +217,7 @@ private:
|
||||||
public:
|
public:
|
||||||
PeriodsStatement(int periods_arg);
|
PeriodsStatement(int periods_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class DsampleStatement : public Statement
|
class DsampleStatement : public Statement
|
||||||
|
@ -211,6 +228,7 @@ public:
|
||||||
DsampleStatement(int val1_arg);
|
DsampleStatement(int val1_arg);
|
||||||
DsampleStatement(int val1_arg, int val2_arg);
|
DsampleStatement(int val1_arg, int val2_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class EstimationStatement : public Statement
|
class EstimationStatement : public Statement
|
||||||
|
@ -223,6 +241,7 @@ public:
|
||||||
const OptionsList &options_list_arg);
|
const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class DynareSensitivityStatement : public Statement
|
class DynareSensitivityStatement : public Statement
|
||||||
|
@ -233,6 +252,7 @@ public:
|
||||||
DynareSensitivityStatement(const OptionsList &options_list_arg);
|
DynareSensitivityStatement(const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ObservationTrendsStatement : public Statement
|
class ObservationTrendsStatement : public Statement
|
||||||
|
@ -246,6 +266,7 @@ public:
|
||||||
ObservationTrendsStatement(const trend_elements_t &trend_elements_arg,
|
ObservationTrendsStatement(const trend_elements_t &trend_elements_arg,
|
||||||
const SymbolTable &symbol_table_arg);
|
const SymbolTable &symbol_table_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class OsrParamsStatement : public Statement
|
class OsrParamsStatement : public Statement
|
||||||
|
@ -257,6 +278,7 @@ public:
|
||||||
OsrParamsStatement(const SymbolList &symbol_list_arg, const SymbolTable &symbol_table_arg);
|
OsrParamsStatement(const SymbolList &symbol_list_arg, const SymbolTable &symbol_table_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class OsrStatement : public Statement
|
class OsrStatement : public Statement
|
||||||
|
@ -269,6 +291,7 @@ public:
|
||||||
const OptionsList &options_list_arg);
|
const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
//! Temporary structure used when parsing estimation_params* statements
|
//! Temporary structure used when parsing estimation_params* statements
|
||||||
|
@ -295,6 +318,7 @@ public:
|
||||||
OsrParamsBoundsStatement(const vector<OsrParams> &osr_params_list_arg);
|
OsrParamsBoundsStatement(const vector<OsrParams> &osr_params_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class DynaTypeStatement : public Statement
|
class DynaTypeStatement : public Statement
|
||||||
|
@ -306,6 +330,7 @@ public:
|
||||||
DynaTypeStatement(const SymbolList &symbol_list_arg,
|
DynaTypeStatement(const SymbolList &symbol_list_arg,
|
||||||
const string &filename_arg);
|
const string &filename_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class DynaSaveStatement : public Statement
|
class DynaSaveStatement : public Statement
|
||||||
|
@ -317,6 +342,7 @@ public:
|
||||||
DynaSaveStatement(const SymbolList &symbol_list_arg,
|
DynaSaveStatement(const SymbolList &symbol_list_arg,
|
||||||
const string &filename_arg);
|
const string &filename_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ModelComparisonStatement : public Statement
|
class ModelComparisonStatement : public Statement
|
||||||
|
@ -330,6 +356,7 @@ public:
|
||||||
ModelComparisonStatement(const filename_list_t &filename_list_arg,
|
ModelComparisonStatement(const filename_list_t &filename_list_arg,
|
||||||
const OptionsList &options_list_arg);
|
const OptionsList &options_list_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
//! Temporary structure used when parsing estimation_params* statements
|
//! Temporary structure used when parsing estimation_params* statements
|
||||||
|
@ -369,6 +396,7 @@ public:
|
||||||
const SymbolTable &symbol_table_arg);
|
const SymbolTable &symbol_table_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class EstimatedParamsInitStatement : public Statement
|
class EstimatedParamsInitStatement : public Statement
|
||||||
|
@ -383,6 +411,7 @@ public:
|
||||||
const bool use_calibration_arg);
|
const bool use_calibration_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class EstimatedParamsBoundsStatement : public Statement
|
class EstimatedParamsBoundsStatement : public Statement
|
||||||
|
@ -394,6 +423,7 @@ public:
|
||||||
EstimatedParamsBoundsStatement(const vector<EstimationParams> &estim_params_list_arg,
|
EstimatedParamsBoundsStatement(const vector<EstimationParams> &estim_params_list_arg,
|
||||||
const SymbolTable &symbol_table_arg);
|
const SymbolTable &symbol_table_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class OptimWeightsStatement : public Statement
|
class OptimWeightsStatement : public Statement
|
||||||
|
@ -411,6 +441,7 @@ public:
|
||||||
const SymbolTable &symbol_table_arg);
|
const SymbolTable &symbol_table_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*! \todo Make model_tree a member instead of a pointer */
|
/*! \todo Make model_tree a member instead of a pointer */
|
||||||
|
@ -430,6 +461,7 @@ public:
|
||||||
/*! \todo allow for the possibility of disabling temporary terms */
|
/*! \todo allow for the possibility of disabling temporary terms */
|
||||||
virtual void computingPass();
|
virtual void computingPass();
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
//! Return the Planner Objective
|
//! Return the Planner Objective
|
||||||
StaticModel *getPlannerObjective() const;
|
StaticModel *getPlannerObjective() const;
|
||||||
};
|
};
|
||||||
|
@ -443,6 +475,7 @@ public:
|
||||||
BVARDensityStatement(int maxnlags_arg, const OptionsList &options_list_arg);
|
BVARDensityStatement(int maxnlags_arg, const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class BVARForecastStatement : public Statement
|
class BVARForecastStatement : public Statement
|
||||||
|
@ -454,6 +487,7 @@ public:
|
||||||
BVARForecastStatement(int nlags_arg, const OptionsList &options_list_arg);
|
BVARForecastStatement(int nlags_arg, const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SBVARStatement : public Statement
|
class SBVARStatement : public Statement
|
||||||
|
@ -464,6 +498,7 @@ public:
|
||||||
SBVARStatement(const OptionsList &options_list_arg);
|
SBVARStatement(const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class MSSBVAREstimationStatement : public Statement
|
class MSSBVAREstimationStatement : public Statement
|
||||||
|
@ -474,6 +509,7 @@ public:
|
||||||
MSSBVAREstimationStatement(const OptionsList &options_list_arg);
|
MSSBVAREstimationStatement(const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class MSSBVARSimulationStatement : public Statement
|
class MSSBVARSimulationStatement : public Statement
|
||||||
|
@ -484,6 +520,7 @@ public:
|
||||||
MSSBVARSimulationStatement(const OptionsList &options_list_arg);
|
MSSBVARSimulationStatement(const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class MSSBVARComputeMDDStatement : public Statement
|
class MSSBVARComputeMDDStatement : public Statement
|
||||||
|
@ -494,6 +531,7 @@ public:
|
||||||
MSSBVARComputeMDDStatement(const OptionsList &options_list_arg);
|
MSSBVARComputeMDDStatement(const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class MSSBVARComputeProbabilitiesStatement : public Statement
|
class MSSBVARComputeProbabilitiesStatement : public Statement
|
||||||
|
@ -504,6 +542,7 @@ public:
|
||||||
MSSBVARComputeProbabilitiesStatement(const OptionsList &options_list_arg);
|
MSSBVARComputeProbabilitiesStatement(const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class MSSBVARIrfStatement : public Statement
|
class MSSBVARIrfStatement : public Statement
|
||||||
|
@ -516,6 +555,7 @@ public:
|
||||||
const OptionsList &options_list_arg);
|
const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class MSSBVARForecastStatement : public Statement
|
class MSSBVARForecastStatement : public Statement
|
||||||
|
@ -526,6 +566,7 @@ public:
|
||||||
MSSBVARForecastStatement(const OptionsList &options_list_arg);
|
MSSBVARForecastStatement(const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class MSSBVARVarianceDecompositionStatement : public Statement
|
class MSSBVARVarianceDecompositionStatement : public Statement
|
||||||
|
@ -536,6 +577,7 @@ public:
|
||||||
MSSBVARVarianceDecompositionStatement(const OptionsList &options_list_arg);
|
MSSBVARVarianceDecompositionStatement(const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class IdentificationStatement : public Statement
|
class IdentificationStatement : public Statement
|
||||||
|
@ -546,6 +588,7 @@ public:
|
||||||
IdentificationStatement(const OptionsList &options_list_arg);
|
IdentificationStatement(const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class WriteLatexDynamicModelStatement : public Statement
|
class WriteLatexDynamicModelStatement : public Statement
|
||||||
|
@ -555,6 +598,7 @@ private:
|
||||||
public:
|
public:
|
||||||
WriteLatexDynamicModelStatement(const DynamicModel &dynamic_model_arg);
|
WriteLatexDynamicModelStatement(const DynamicModel &dynamic_model_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class WriteLatexStaticModelStatement : public Statement
|
class WriteLatexStaticModelStatement : public Statement
|
||||||
|
@ -564,6 +608,7 @@ private:
|
||||||
public:
|
public:
|
||||||
WriteLatexStaticModelStatement(const StaticModel &static_model_arg);
|
WriteLatexStaticModelStatement(const StaticModel &static_model_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class WriteLatexOriginalModelStatement : public Statement
|
class WriteLatexOriginalModelStatement : public Statement
|
||||||
|
@ -573,6 +618,7 @@ private:
|
||||||
public:
|
public:
|
||||||
WriteLatexOriginalModelStatement(const DynamicModel &original_model_arg);
|
WriteLatexOriginalModelStatement(const DynamicModel &original_model_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ShockDecompositionStatement : public Statement
|
class ShockDecompositionStatement : public Statement
|
||||||
|
@ -584,6 +630,7 @@ public:
|
||||||
ShockDecompositionStatement(const SymbolList &symbol_list_arg,
|
ShockDecompositionStatement(const SymbolList &symbol_list_arg,
|
||||||
const OptionsList &options_list_arg);
|
const OptionsList &options_list_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ConditionalForecastStatement : public Statement
|
class ConditionalForecastStatement : public Statement
|
||||||
|
@ -593,6 +640,7 @@ private:
|
||||||
public:
|
public:
|
||||||
ConditionalForecastStatement(const OptionsList &options_list_arg);
|
ConditionalForecastStatement(const OptionsList &options_list_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PlotConditionalForecastStatement : public Statement
|
class PlotConditionalForecastStatement : public Statement
|
||||||
|
@ -604,6 +652,7 @@ private:
|
||||||
public:
|
public:
|
||||||
PlotConditionalForecastStatement(int periods_arg, const SymbolList &symbol_list_arg);
|
PlotConditionalForecastStatement(int periods_arg, const SymbolList &symbol_list_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CalibSmootherStatement : public Statement
|
class CalibSmootherStatement : public Statement
|
||||||
|
@ -616,6 +665,7 @@ public:
|
||||||
const OptionsList &options_list_arg);
|
const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ExtendedPathStatement : public Statement
|
class ExtendedPathStatement : public Statement
|
||||||
|
@ -626,6 +676,7 @@ public:
|
||||||
ExtendedPathStatement(const OptionsList &options_list_arg);
|
ExtendedPathStatement(const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SvarIdentificationStatement : public Statement
|
class SvarIdentificationStatement : public Statement
|
||||||
|
@ -657,6 +708,7 @@ public:
|
||||||
const SymbolTable &symbol_table_arg);
|
const SymbolTable &symbol_table_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class MarkovSwitchingStatement : public Statement
|
class MarkovSwitchingStatement : public Statement
|
||||||
|
@ -669,6 +721,7 @@ public:
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
virtual void writeCOutput(ostream &output, const string &basename);
|
virtual void writeCOutput(ostream &output, const string &basename);
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SvarStatement : public Statement
|
class SvarStatement : public Statement
|
||||||
|
@ -679,6 +732,7 @@ public:
|
||||||
SvarStatement(const OptionsList &options_list_arg);
|
SvarStatement(const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SvarGlobalIdentificationCheckStatement : public Statement
|
class SvarGlobalIdentificationCheckStatement : public Statement
|
||||||
|
@ -686,6 +740,7 @@ class SvarGlobalIdentificationCheckStatement : public Statement
|
||||||
public:
|
public:
|
||||||
SvarGlobalIdentificationCheckStatement();
|
SvarGlobalIdentificationCheckStatement();
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SetTimeStatement : public Statement
|
class SetTimeStatement : public Statement
|
||||||
|
@ -695,6 +750,7 @@ private:
|
||||||
public:
|
public:
|
||||||
SetTimeStatement(const OptionsList &options_list_arg);
|
SetTimeStatement(const OptionsList &options_list_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class EstimationDataStatement : public Statement
|
class EstimationDataStatement : public Statement
|
||||||
|
@ -705,6 +761,7 @@ public:
|
||||||
EstimationDataStatement(const OptionsList &options_list_arg);
|
EstimationDataStatement(const OptionsList &options_list_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SubsamplesStatement : public Statement
|
class SubsamplesStatement : public Statement
|
||||||
|
@ -724,6 +781,7 @@ public:
|
||||||
const SymbolTable &symbol_table_arg);
|
const SymbolTable &symbol_table_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SubsamplesEqualStatement : public Statement
|
class SubsamplesEqualStatement : public Statement
|
||||||
|
@ -741,6 +799,7 @@ public:
|
||||||
const string &from_name2_arg,
|
const string &from_name2_arg,
|
||||||
const SymbolTable &symbol_table_arg);
|
const SymbolTable &symbol_table_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class JointPriorStatement : public Statement
|
class JointPriorStatement : public Statement
|
||||||
|
@ -756,6 +815,7 @@ public:
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
void writeOutputHelper(ostream &output, const string &field, const string &lhs_field) const;
|
void writeOutputHelper(ostream &output, const string &field, const string &lhs_field) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -788,6 +848,8 @@ protected:
|
||||||
void writeCShape(ostream &output) const;
|
void writeCShape(ostream &output) const;
|
||||||
void writeCVarianceOption(ostream &output) const;
|
void writeCVarianceOption(ostream &output) const;
|
||||||
void writeCDomain(ostream &output) const;
|
void writeCDomain(ostream &output) const;
|
||||||
|
void writeJsonShape(ostream &output) const;
|
||||||
|
void writeJsonPriorOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PriorStatement : public BasicPriorStatement
|
class PriorStatement : public BasicPriorStatement
|
||||||
|
@ -800,6 +862,7 @@ public:
|
||||||
const OptionsList &options_list_arg);
|
const OptionsList &options_list_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
virtual void writeCOutput(ostream &output, const string &basename);
|
virtual void writeCOutput(ostream &output, const string &basename);
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class StdPriorStatement : public BasicPriorStatement
|
class StdPriorStatement : public BasicPriorStatement
|
||||||
|
@ -815,6 +878,7 @@ public:
|
||||||
const SymbolTable &symbol_table_arg);
|
const SymbolTable &symbol_table_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
virtual void writeCOutput(ostream &output, const string &basename);
|
virtual void writeCOutput(ostream &output, const string &basename);
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CorrPriorStatement : public BasicPriorStatement
|
class CorrPriorStatement : public BasicPriorStatement
|
||||||
|
@ -833,6 +897,7 @@ public:
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
virtual void writeCOutput(ostream &output, const string &basename);
|
virtual void writeCOutput(ostream &output, const string &basename);
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PriorEqualStatement : public Statement
|
class PriorEqualStatement : public Statement
|
||||||
|
@ -860,6 +925,7 @@ public:
|
||||||
void get_base_name(const SymbolType symb_type, string &lhs_field) const;
|
void get_base_name(const SymbolType symb_type, string &lhs_field) const;
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class BasicOptionsStatement : public Statement
|
class BasicOptionsStatement : public Statement
|
||||||
|
@ -882,6 +948,7 @@ protected:
|
||||||
void writeOptionsIndex(ostream &output, const string &lhs_field) const;
|
void writeOptionsIndex(ostream &output, const string &lhs_field) const;
|
||||||
void writeOutputHelper(ostream &output, const string &field, const string &lhs_field) const;
|
void writeOutputHelper(ostream &output, const string &field, const string &lhs_field) const;
|
||||||
void writeCOutputHelper(ostream &output, const string &field) const;
|
void writeCOutputHelper(ostream &output, const string &field) const;
|
||||||
|
void writeJsonOptionsOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class OptionsStatement : public BasicOptionsStatement
|
class OptionsStatement : public BasicOptionsStatement
|
||||||
|
@ -890,6 +957,7 @@ public:
|
||||||
OptionsStatement(const string &name_arg, const string &subsample_name_arg, const OptionsList &options_list_arg);
|
OptionsStatement(const string &name_arg, const string &subsample_name_arg, const OptionsList &options_list_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
virtual void writeCOutput(ostream &output, const string &basename);
|
virtual void writeCOutput(ostream &output, const string &basename);
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class StdOptionsStatement : public BasicOptionsStatement
|
class StdOptionsStatement : public BasicOptionsStatement
|
||||||
|
@ -903,6 +971,7 @@ public:
|
||||||
const SymbolTable &symbol_table_arg);
|
const SymbolTable &symbol_table_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
virtual void writeCOutput(ostream &output, const string &basename);
|
virtual void writeCOutput(ostream &output, const string &basename);
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CorrOptionsStatement : public BasicOptionsStatement
|
class CorrOptionsStatement : public BasicOptionsStatement
|
||||||
|
@ -918,6 +987,7 @@ public:
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
virtual void writeCOutput(ostream &output, const string &basename);
|
virtual void writeCOutput(ostream &output, const string &basename);
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class OptionsEqualStatement : public Statement
|
class OptionsEqualStatement : public Statement
|
||||||
|
@ -945,6 +1015,7 @@ public:
|
||||||
void get_base_name(const SymbolType symb_type, string &lhs_field) const;
|
void get_base_name(const SymbolType symb_type, string &lhs_field) const;
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ModelDiagnosticsStatement : public Statement
|
class ModelDiagnosticsStatement : public Statement
|
||||||
|
@ -952,6 +1023,7 @@ class ModelDiagnosticsStatement : public Statement
|
||||||
public:
|
public:
|
||||||
ModelDiagnosticsStatement();
|
ModelDiagnosticsStatement();
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class Smoother2histvalStatement : public Statement
|
class Smoother2histvalStatement : public Statement
|
||||||
|
@ -961,6 +1033,7 @@ private:
|
||||||
public:
|
public:
|
||||||
Smoother2histvalStatement(const OptionsList &options_list_arg);
|
Smoother2histvalStatement(const OptionsList &options_list_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1259,29 +1259,12 @@ ModFile::writeJsonOutput(const string &basename, JsonFileOutputType json_output_
|
||||||
if (!statements.empty())
|
if (!statements.empty())
|
||||||
{
|
{
|
||||||
output << ",\"statements\": [";
|
output << ",\"statements\": [";
|
||||||
bool printed_statement = false;
|
|
||||||
for (vector<Statement *>::const_iterator it = statements.begin();
|
for (vector<Statement *>::const_iterator it = statements.begin();
|
||||||
it != statements.end();)
|
it != statements.end(); it++)
|
||||||
{
|
{
|
||||||
(*it)->writeJsonOutput(output);
|
if (it != statements.begin())
|
||||||
|
|
||||||
if (dynamic_cast<InitParamStatement *>(*it) != NULL ||
|
|
||||||
dynamic_cast<InitValStatement *>(*it) != NULL ||
|
|
||||||
dynamic_cast<EndValStatement *>(*it) != NULL ||
|
|
||||||
dynamic_cast<HistValStatement *>(*it) != NULL)
|
|
||||||
printed_statement = true;
|
|
||||||
|
|
||||||
if (++it == statements.end())
|
|
||||||
break;
|
|
||||||
|
|
||||||
// tests to see if the next statement will be one for which we support writing JSON files
|
|
||||||
// to be deleted once we support all statements
|
|
||||||
if (printed_statement &&
|
|
||||||
(dynamic_cast<InitParamStatement *>(*it) != NULL ||
|
|
||||||
dynamic_cast<InitValStatement *>(*it) != NULL ||
|
|
||||||
dynamic_cast<EndValStatement *>(*it) != NULL ||
|
|
||||||
dynamic_cast<HistValStatement *>(*it) != NULL))
|
|
||||||
output << ", " << endl;
|
output << ", " << endl;
|
||||||
|
(*it)->writeJsonOutput(output);
|
||||||
}
|
}
|
||||||
output << "]" << endl;
|
output << "]" << endl;
|
||||||
}
|
}
|
||||||
|
|
|
@ -177,16 +177,15 @@ InitOrEndValStatement::writeInitValues(ostream &output) const
|
||||||
void
|
void
|
||||||
InitOrEndValStatement::writeJsonInitValues(ostream &output) const
|
InitOrEndValStatement::writeJsonInitValues(ostream &output) const
|
||||||
{
|
{
|
||||||
int i = 0;
|
|
||||||
deriv_node_temp_terms_t tef_terms;
|
deriv_node_temp_terms_t tef_terms;
|
||||||
for (init_values_t::const_iterator it = init_values.begin();
|
for (init_values_t::const_iterator it = init_values.begin();
|
||||||
it != init_values.end(); it++, i++)
|
it != init_values.end(); it++)
|
||||||
{
|
{
|
||||||
|
if (it != init_values.begin())
|
||||||
|
output << ", ";
|
||||||
output << "{\"name\": \"" << symbol_table.getName(it->first) << "\", " << "\"value\": \"";
|
output << "{\"name\": \"" << symbol_table.getName(it->first) << "\", " << "\"value\": \"";
|
||||||
it->second->writeJsonOutput(output, oMatlabOutsideModel, temporary_terms_t(), tef_terms);
|
it->second->writeJsonOutput(output, oMatlabOutsideModel, temporary_terms_t(), tef_terms);
|
||||||
output << "\"}";
|
output << "\"}";
|
||||||
if (i < init_values.size() - 1)
|
|
||||||
output << ", ";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -419,19 +418,18 @@ HistValStatement::writeOutput(ostream &output, const string &basename, bool mini
|
||||||
void
|
void
|
||||||
HistValStatement::writeJsonOutput(ostream &output) const
|
HistValStatement::writeJsonOutput(ostream &output) const
|
||||||
{
|
{
|
||||||
int i = 0;
|
|
||||||
deriv_node_temp_terms_t tef_terms;
|
deriv_node_temp_terms_t tef_terms;
|
||||||
output << "{\"statementName\": \"hist_val\", \"vals\": [";
|
output << "{\"statementName\": \"hist_val\", \"vals\": [";
|
||||||
for (hist_values_t::const_iterator it = hist_values.begin();
|
for (hist_values_t::const_iterator it = hist_values.begin();
|
||||||
it != hist_values.end(); it++)
|
it != hist_values.end(); it++)
|
||||||
{
|
{
|
||||||
|
if (it != hist_values.begin())
|
||||||
|
output << ", ";
|
||||||
output << "{ \"name\": \"" << symbol_table.getName(it->first.first) << "\""
|
output << "{ \"name\": \"" << symbol_table.getName(it->first.first) << "\""
|
||||||
<< ", \"lag\": " << it->first.second
|
<< ", \"lag\": " << it->first.second
|
||||||
<< ", \"value\": \"";
|
<< ", \"value\": \"";
|
||||||
it->second->writeJsonOutput(output, oMatlabOutsideModel, temporary_terms_t(), tef_terms);
|
it->second->writeJsonOutput(output, oMatlabOutsideModel, temporary_terms_t(), tef_terms);
|
||||||
output << "\"}";
|
output << "\"}";
|
||||||
if (i < hist_values.size() - 1)
|
|
||||||
output << ", ";
|
|
||||||
}
|
}
|
||||||
output << "]}";
|
output << "]}";
|
||||||
}
|
}
|
||||||
|
@ -451,6 +449,14 @@ InitvalFileStatement::writeOutput(ostream &output, const string &basename, bool
|
||||||
<< "initvalf('" << filename << "');" << endl;
|
<< "initvalf('" << filename << "');" << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
InitvalFileStatement::writeJsonOutput(ostream &output) const
|
||||||
|
{
|
||||||
|
output << "{\"statementName\": \"init_val_file\""
|
||||||
|
<< ", \"filename\": \"" << filename << "\""
|
||||||
|
<< "}";
|
||||||
|
}
|
||||||
|
|
||||||
HistvalFileStatement::HistvalFileStatement(const string &filename_arg) :
|
HistvalFileStatement::HistvalFileStatement(const string &filename_arg) :
|
||||||
filename(filename_arg)
|
filename(filename_arg)
|
||||||
{
|
{
|
||||||
|
@ -462,6 +468,14 @@ HistvalFileStatement::writeOutput(ostream &output, const string &basename, bool
|
||||||
output << "histvalf('" << filename << "');" << endl;
|
output << "histvalf('" << filename << "');" << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
HistvalFileStatement::writeJsonOutput(ostream &output) const
|
||||||
|
{
|
||||||
|
output << "{\"statementName\": \"hist_val_file\""
|
||||||
|
<< ", \"filename\": \"" << filename << "\""
|
||||||
|
<< "}";
|
||||||
|
}
|
||||||
|
|
||||||
HomotopyStatement::HomotopyStatement(const homotopy_values_t &homotopy_values_arg,
|
HomotopyStatement::HomotopyStatement(const homotopy_values_t &homotopy_values_arg,
|
||||||
const SymbolTable &symbol_table_arg) :
|
const SymbolTable &symbol_table_arg) :
|
||||||
homotopy_values(homotopy_values_arg),
|
homotopy_values(homotopy_values_arg),
|
||||||
|
@ -498,6 +512,31 @@ HomotopyStatement::writeOutput(ostream &output, const string &basename, bool min
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
HomotopyStatement::writeJsonOutput(ostream &output) const
|
||||||
|
{
|
||||||
|
deriv_node_temp_terms_t tef_terms;
|
||||||
|
output << "{\"statementName\": \"homotopy\", "
|
||||||
|
<< "\"values\": [";
|
||||||
|
for (homotopy_values_t::const_iterator it = homotopy_values.begin();
|
||||||
|
it != homotopy_values.end(); it++)
|
||||||
|
{
|
||||||
|
if (it != homotopy_values.begin())
|
||||||
|
output << ", ";
|
||||||
|
output << "{\"name\": \"" << symbol_table.getName(it->first) << "\""
|
||||||
|
<< ", \"initial_value\": \"";
|
||||||
|
if (it->second.first != NULL)
|
||||||
|
it->second.first->writeJsonOutput(output, oMatlabOutsideModel, temporary_terms_t(), tef_terms);
|
||||||
|
else
|
||||||
|
output << "NaN";
|
||||||
|
output << "\", \"final_value\": \"";
|
||||||
|
it->second.second->writeJsonOutput(output, oMatlabOutsideModel, temporary_terms_t(), tef_terms);
|
||||||
|
output << "\"}";
|
||||||
|
}
|
||||||
|
output << "]"
|
||||||
|
<< "}";
|
||||||
|
}
|
||||||
|
|
||||||
SaveParamsAndSteadyStateStatement::SaveParamsAndSteadyStateStatement(const string &filename_arg) :
|
SaveParamsAndSteadyStateStatement::SaveParamsAndSteadyStateStatement(const string &filename_arg) :
|
||||||
filename(filename_arg)
|
filename(filename_arg)
|
||||||
{
|
{
|
||||||
|
@ -509,6 +548,14 @@ SaveParamsAndSteadyStateStatement::writeOutput(ostream &output, const string &ba
|
||||||
output << "save_params_and_steady_state('" << filename << "');" << endl;
|
output << "save_params_and_steady_state('" << filename << "');" << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
SaveParamsAndSteadyStateStatement::writeJsonOutput(ostream &output) const
|
||||||
|
{
|
||||||
|
output << "{\"statementName\": \"save_params_and_steady_state\""
|
||||||
|
<< ", \"filename\": \"" << filename << "\""
|
||||||
|
<< "}";
|
||||||
|
}
|
||||||
|
|
||||||
LoadParamsAndSteadyStateStatement::LoadParamsAndSteadyStateStatement(const string &filename,
|
LoadParamsAndSteadyStateStatement::LoadParamsAndSteadyStateStatement(const string &filename,
|
||||||
const SymbolTable &symbol_table_arg,
|
const SymbolTable &symbol_table_arg,
|
||||||
WarningConsolidation &warnings) :
|
WarningConsolidation &warnings) :
|
||||||
|
@ -574,6 +621,24 @@ LoadParamsAndSteadyStateStatement::writeOutput(ostream &output, const string &ba
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
LoadParamsAndSteadyStateStatement::writeJsonOutput(ostream &output) const
|
||||||
|
{
|
||||||
|
deriv_node_temp_terms_t tef_terms;
|
||||||
|
output << "{\"statementName\": \"load_params_and_steady_state\""
|
||||||
|
<< "\"values\": [";
|
||||||
|
for (map<int, string>::const_iterator it = content.begin();
|
||||||
|
it != content.end(); it++)
|
||||||
|
{
|
||||||
|
if (it != content.begin())
|
||||||
|
output << ", ";
|
||||||
|
output << "{\"name\": \"" << symbol_table.getName(it->first) << "\""
|
||||||
|
<< ", \"value\": \"" << it->second << "\"}";
|
||||||
|
}
|
||||||
|
output << "]"
|
||||||
|
<< "}";
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
LoadParamsAndSteadyStateStatement::fillEvalContext(eval_context_t &eval_context) const
|
LoadParamsAndSteadyStateStatement::fillEvalContext(eval_context_t &eval_context) const
|
||||||
{
|
{
|
||||||
|
|
|
@ -128,6 +128,7 @@ private:
|
||||||
public:
|
public:
|
||||||
InitvalFileStatement(const string &filename_arg);
|
InitvalFileStatement(const string &filename_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class HistvalFileStatement : public Statement
|
class HistvalFileStatement : public Statement
|
||||||
|
@ -137,6 +138,7 @@ private:
|
||||||
public:
|
public:
|
||||||
HistvalFileStatement(const string &filename_arg);
|
HistvalFileStatement(const string &filename_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class HomotopyStatement : public Statement
|
class HomotopyStatement : public Statement
|
||||||
|
@ -152,6 +154,7 @@ public:
|
||||||
HomotopyStatement(const homotopy_values_t &homotopy_values_arg,
|
HomotopyStatement(const homotopy_values_t &homotopy_values_arg,
|
||||||
const SymbolTable &symbol_table_arg);
|
const SymbolTable &symbol_table_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SaveParamsAndSteadyStateStatement : public Statement
|
class SaveParamsAndSteadyStateStatement : public Statement
|
||||||
|
@ -161,6 +164,7 @@ private:
|
||||||
public:
|
public:
|
||||||
SaveParamsAndSteadyStateStatement(const string &filename_arg);
|
SaveParamsAndSteadyStateStatement(const string &filename_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class LoadParamsAndSteadyStateStatement : public Statement
|
class LoadParamsAndSteadyStateStatement : public Statement
|
||||||
|
@ -177,6 +181,7 @@ public:
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
//! Fill eval context with parameters/variables values
|
//! Fill eval context with parameters/variables values
|
||||||
void fillEvalContext(eval_context_t &eval_context) const;
|
void fillEvalContext(eval_context_t &eval_context) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -2934,7 +2934,7 @@ ParsingDriver::prior_posterior_function(bool prior_func)
|
||||||
void
|
void
|
||||||
ParsingDriver::add_ramsey_constraints_statement()
|
ParsingDriver::add_ramsey_constraints_statement()
|
||||||
{
|
{
|
||||||
mod_file->addStatement(new RamseyConstraintsStatement(ramsey_constraints));
|
mod_file->addStatement(new RamseyConstraintsStatement(mod_file->symbol_table, ramsey_constraints));
|
||||||
ramsey_constraints.clear();
|
ramsey_constraints.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2003-2016 Dynare Team
|
* Copyright (C) 2003-2017 Dynare Team
|
||||||
*
|
*
|
||||||
* This file is part of Dynare.
|
* This file is part of Dynare.
|
||||||
*
|
*
|
||||||
|
@ -67,6 +67,34 @@ AbstractShocksStatement::writeDetShocks(ostream &output) const
|
||||||
output << "M_.exo_det_length = " << exo_det_length << ";\n";
|
output << "M_.exo_det_length = " << exo_det_length << ";\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
AbstractShocksStatement::writeJsonDetShocks(ostream &output) const
|
||||||
|
{
|
||||||
|
deriv_node_temp_terms_t tef_terms;
|
||||||
|
output << "\"deterministic_shocks\": [";
|
||||||
|
for (det_shocks_t::const_iterator it = det_shocks.begin();
|
||||||
|
it != det_shocks.end(); it++)
|
||||||
|
{
|
||||||
|
if (it != det_shocks.begin())
|
||||||
|
output << ", ";
|
||||||
|
output << "{\"var\": \"" << symbol_table.getName(it->first) << "\", "
|
||||||
|
<< "\"values\": [";
|
||||||
|
for (vector<DetShockElement>::const_iterator it1 = it->second.begin();
|
||||||
|
it1 != it->second.end(); it1++)
|
||||||
|
{
|
||||||
|
if (it1 != it->second.begin())
|
||||||
|
output << ", ";
|
||||||
|
output << "{\"period1\": " << it1->period1 << ", "
|
||||||
|
<< "\"period2\": " << it1->period2 << ", "
|
||||||
|
<< "\"value\": \"";
|
||||||
|
it1->value->writeJsonOutput(output, oMatlabOutsideModel, temporary_terms_t(), tef_terms);
|
||||||
|
output << "\"}";
|
||||||
|
}
|
||||||
|
output << "]}";
|
||||||
|
}
|
||||||
|
output << "]";
|
||||||
|
}
|
||||||
|
|
||||||
ShocksStatement::ShocksStatement(bool overwrite_arg,
|
ShocksStatement::ShocksStatement(bool overwrite_arg,
|
||||||
const det_shocks_t &det_shocks_arg,
|
const det_shocks_t &det_shocks_arg,
|
||||||
const var_and_std_shocks_t &var_shocks_arg,
|
const var_and_std_shocks_t &var_shocks_arg,
|
||||||
|
@ -123,6 +151,73 @@ ShocksStatement::writeOutput(ostream &output, const string &basename, bool minim
|
||||||
output << "M_.sigma_e_is_diagonal = 1;" << endl;
|
output << "M_.sigma_e_is_diagonal = 1;" << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
ShocksStatement::writeJsonOutput(ostream &output) const
|
||||||
|
{
|
||||||
|
deriv_node_temp_terms_t tef_terms;
|
||||||
|
output << "{\"statementName\": \"shocks\""
|
||||||
|
<< ", \"overwrite\": ";
|
||||||
|
if (overwrite)
|
||||||
|
output << "true";
|
||||||
|
else
|
||||||
|
output << "false";
|
||||||
|
if (!det_shocks.empty())
|
||||||
|
{
|
||||||
|
output << ", ";
|
||||||
|
writeJsonDetShocks(output);
|
||||||
|
}
|
||||||
|
output<< ", \"variance\": [";
|
||||||
|
for (var_and_std_shocks_t::const_iterator it = var_shocks.begin(); it != var_shocks.end(); it++)
|
||||||
|
{
|
||||||
|
if (it != var_shocks.begin())
|
||||||
|
output << ", ";
|
||||||
|
output << "{\"name\": \"" << symbol_table.getName(it->first) << "\", "
|
||||||
|
<< "\"variance\": \"";
|
||||||
|
it->second->writeJsonOutput(output, oMatlabOutsideModel, temporary_terms_t(), tef_terms);
|
||||||
|
output << "\"}";
|
||||||
|
}
|
||||||
|
output << "]"
|
||||||
|
<< ", \"stderr\": [";
|
||||||
|
for (var_and_std_shocks_t::const_iterator it = std_shocks.begin(); it != std_shocks.end(); it++)
|
||||||
|
{
|
||||||
|
if (it != std_shocks.begin())
|
||||||
|
output << ", ";
|
||||||
|
output << "{\"name\": \"" << symbol_table.getName(it->first) << "\", "
|
||||||
|
<< "\"stderr\": \"";
|
||||||
|
it->second->writeJsonOutput(output, oMatlabOutsideModel, temporary_terms_t(), tef_terms);
|
||||||
|
output << "\"}";
|
||||||
|
}
|
||||||
|
output << "]"
|
||||||
|
<< ", \"covariance\": [";
|
||||||
|
for (covar_and_corr_shocks_t::const_iterator it = covar_shocks.begin(); it != covar_shocks.end(); it++)
|
||||||
|
{
|
||||||
|
if (it != covar_shocks.begin())
|
||||||
|
output << ", ";
|
||||||
|
output << "{"
|
||||||
|
<< "\"name\": \"" << symbol_table.getName(it->first.first) << "\", "
|
||||||
|
<< "\"name2\": \"" << symbol_table.getName(it->first.second) << "\", "
|
||||||
|
<< "\"covariance\": \"";
|
||||||
|
it->second->writeJsonOutput(output, oMatlabOutsideModel, temporary_terms_t(), tef_terms);
|
||||||
|
output << "\"}";
|
||||||
|
}
|
||||||
|
output << "]"
|
||||||
|
<< ", \"correlation\": [";
|
||||||
|
for (covar_and_corr_shocks_t::const_iterator it = corr_shocks.begin(); it != corr_shocks.end(); it++)
|
||||||
|
{
|
||||||
|
if (it != corr_shocks.begin())
|
||||||
|
output << ", ";
|
||||||
|
output << "{"
|
||||||
|
<< "\"name\": \"" << symbol_table.getName(it->first.first) << "\", "
|
||||||
|
<< "\"name2\": \"" << symbol_table.getName(it->first.second) << "\", "
|
||||||
|
<< "\"correlation\": \"";
|
||||||
|
it->second->writeJsonOutput(output, oMatlabOutsideModel, temporary_terms_t(), tef_terms);
|
||||||
|
output << "\"}";
|
||||||
|
}
|
||||||
|
output << "]"
|
||||||
|
<< "}";
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ShocksStatement::writeVarOrStdShock(ostream &output, var_and_std_shocks_t::const_iterator &it,
|
ShocksStatement::writeVarOrStdShock(ostream &output, var_and_std_shocks_t::const_iterator &it,
|
||||||
bool stddev) const
|
bool stddev) const
|
||||||
|
@ -430,6 +525,26 @@ MomentCalibration::writeOutput(ostream &output, const string &basename, bool min
|
||||||
output << "};" << endl;
|
output << "};" << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MomentCalibration::writeJsonOutput(ostream &output) const
|
||||||
|
{
|
||||||
|
output << "{\"statementName\": \"moment_calibration\""
|
||||||
|
<< ", \"moment_calibration_criteria\": [";
|
||||||
|
for (constraints_t::const_iterator it = constraints.begin(); it != constraints.end(); it++)
|
||||||
|
{
|
||||||
|
if (it != constraints.begin())
|
||||||
|
output << ", ";
|
||||||
|
output << "{\"endogenous1\": \"" << symbol_table.getName(it->endo1) << "\""
|
||||||
|
<< ", \"endogenous2\": \"" << symbol_table.getName(it->endo2) << "\""
|
||||||
|
<< ", \"lags\": \"" << it->lags << "\""
|
||||||
|
<< ", \"lower_bound\": \"" << it->lower_bound << "\""
|
||||||
|
<< ", \"upper_bound\": \"" << it->upper_bound << "\""
|
||||||
|
<< "}";
|
||||||
|
}
|
||||||
|
output << "]"
|
||||||
|
<< "}";
|
||||||
|
}
|
||||||
|
|
||||||
IrfCalibration::IrfCalibration(const constraints_t &constraints_arg,
|
IrfCalibration::IrfCalibration(const constraints_t &constraints_arg,
|
||||||
const SymbolTable &symbol_table_arg,
|
const SymbolTable &symbol_table_arg,
|
||||||
const OptionsList &options_list_arg)
|
const OptionsList &options_list_arg)
|
||||||
|
@ -455,6 +570,32 @@ IrfCalibration::writeOutput(ostream &output, const string &basename, bool minima
|
||||||
output << "};" << endl;
|
output << "};" << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
IrfCalibration::writeJsonOutput(ostream &output) const
|
||||||
|
{
|
||||||
|
output << "{\"statementName\": \"irf_calibration\"";
|
||||||
|
if (options_list.getNumberOfOptions())
|
||||||
|
{
|
||||||
|
output << ", ";
|
||||||
|
options_list.writeJsonOutput(output);
|
||||||
|
}
|
||||||
|
|
||||||
|
output << ", \"irf_restrictions\": [";
|
||||||
|
for (constraints_t::const_iterator it = constraints.begin(); it != constraints.end(); it++)
|
||||||
|
{
|
||||||
|
if (it != constraints.begin())
|
||||||
|
output << ", ";
|
||||||
|
output << "{\"endogenous\": \"" << symbol_table.getName(it->endo) << "\""
|
||||||
|
<< ", \"exogenous\": \"" << symbol_table.getName(it->exo) << "\""
|
||||||
|
<< ", \"periods\": \"" << it->periods << "\""
|
||||||
|
<< ", \"lower_bound\": \"" << it->lower_bound << "\""
|
||||||
|
<< ", \"upper_bound\": \"" << it->upper_bound << "\""
|
||||||
|
<< "}";
|
||||||
|
}
|
||||||
|
output << "]"
|
||||||
|
<< "}";
|
||||||
|
}
|
||||||
|
|
||||||
ShockGroupsStatement::ShockGroupsStatement(const group_t &shock_groups_arg, const string &name_arg)
|
ShockGroupsStatement::ShockGroupsStatement(const group_t &shock_groups_arg, const string &name_arg)
|
||||||
: shock_groups(shock_groups_arg), name(name_arg)
|
: shock_groups(shock_groups_arg), name(name_arg)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2003-2016 Dynare Team
|
* Copyright (C) 2003-2017 Dynare Team
|
||||||
*
|
*
|
||||||
* This file is part of Dynare.
|
* This file is part of Dynare.
|
||||||
*
|
*
|
||||||
|
@ -50,6 +50,7 @@ protected:
|
||||||
const det_shocks_t det_shocks;
|
const det_shocks_t det_shocks;
|
||||||
const SymbolTable &symbol_table;
|
const SymbolTable &symbol_table;
|
||||||
void writeDetShocks(ostream &output) const;
|
void writeDetShocks(ostream &output) const;
|
||||||
|
void writeJsonDetShocks(ostream &output) const;
|
||||||
|
|
||||||
AbstractShocksStatement(bool mshocks_arg, bool overwrite_arg,
|
AbstractShocksStatement(bool mshocks_arg, bool overwrite_arg,
|
||||||
const det_shocks_t &det_shocks_arg,
|
const det_shocks_t &det_shocks_arg,
|
||||||
|
@ -77,8 +78,9 @@ public:
|
||||||
const covar_and_corr_shocks_t &covar_shocks_arg,
|
const covar_and_corr_shocks_t &covar_shocks_arg,
|
||||||
const covar_and_corr_shocks_t &corr_shocks_arg,
|
const covar_and_corr_shocks_t &corr_shocks_arg,
|
||||||
const SymbolTable &symbol_table_arg);
|
const SymbolTable &symbol_table_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class MShocksStatement : public AbstractShocksStatement
|
class MShocksStatement : public AbstractShocksStatement
|
||||||
|
@ -120,6 +122,7 @@ public:
|
||||||
MomentCalibration(const constraints_t &constraints_arg,
|
MomentCalibration(const constraints_t &constraints_arg,
|
||||||
const SymbolTable &symbol_table_arg);
|
const SymbolTable &symbol_table_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class IrfCalibration : public Statement
|
class IrfCalibration : public Statement
|
||||||
|
@ -141,6 +144,7 @@ public:
|
||||||
const SymbolTable &symbol_table_arg,
|
const SymbolTable &symbol_table_arg,
|
||||||
const OptionsList &options_list_arg);
|
const OptionsList &options_list_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ShockGroupsStatement : public Statement
|
class ShockGroupsStatement : public Statement
|
||||||
|
|
|
@ -109,6 +109,14 @@ NativeStatement::writeOutput(ostream &output, const string &basename, bool minim
|
||||||
output << ns << endl;
|
output << ns << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
NativeStatement::writeJsonOutput(ostream &output) const
|
||||||
|
{
|
||||||
|
output << "{\"statementName\": \"native\""
|
||||||
|
<< ", \"string\": \"" << native_statement << "\""
|
||||||
|
<< "}";
|
||||||
|
}
|
||||||
|
|
||||||
VerbatimStatement::VerbatimStatement(const string &verbatim_statement_arg) :
|
VerbatimStatement::VerbatimStatement(const string &verbatim_statement_arg) :
|
||||||
verbatim_statement(verbatim_statement_arg)
|
verbatim_statement(verbatim_statement_arg)
|
||||||
{
|
{
|
||||||
|
@ -120,6 +128,14 @@ VerbatimStatement::writeOutput(ostream &output, const string &basename, bool min
|
||||||
output << verbatim_statement << endl;
|
output << verbatim_statement << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
VerbatimStatement::writeJsonOutput(ostream &output) const
|
||||||
|
{
|
||||||
|
output << "{\"statementName\": \"verbatim\""
|
||||||
|
<< ", \"string\": \"" << verbatim_statement << "\""
|
||||||
|
<< "}";
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
OptionsList::writeOutput(ostream &output) const
|
OptionsList::writeOutput(ostream &output) const
|
||||||
{
|
{
|
||||||
|
@ -213,6 +229,100 @@ OptionsList::writeOutput(ostream &output, const string &option_group) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
OptionsList::writeJsonOutput(ostream &output) const
|
||||||
|
{
|
||||||
|
if (getNumberOfOptions() == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
output << "\"options\": {";
|
||||||
|
for (num_options_t::const_iterator it = num_options.begin();
|
||||||
|
it != num_options.end();)
|
||||||
|
{
|
||||||
|
output << "\""<< it->first << "\": " << it->second;
|
||||||
|
it++;
|
||||||
|
if (it != num_options.end() ||
|
||||||
|
!(paired_num_options.empty() &&
|
||||||
|
string_options.empty() &&
|
||||||
|
date_options.empty() &&
|
||||||
|
symbol_list_options.empty() &&
|
||||||
|
vector_int_options.empty()))
|
||||||
|
output << ", ";
|
||||||
|
}
|
||||||
|
|
||||||
|
for (paired_num_options_t::const_iterator it = paired_num_options.begin();
|
||||||
|
it != paired_num_options.end();)
|
||||||
|
{
|
||||||
|
output << "\""<< it->first << "\": [" << it->second.first << " " << it->second.second << "]";
|
||||||
|
it++;
|
||||||
|
if (it != paired_num_options.end() ||
|
||||||
|
!(string_options.empty() &&
|
||||||
|
date_options.empty() &&
|
||||||
|
symbol_list_options.empty() &&
|
||||||
|
vector_int_options.empty()))
|
||||||
|
output << ", ";
|
||||||
|
}
|
||||||
|
|
||||||
|
for (string_options_t::const_iterator it = string_options.begin();
|
||||||
|
it != string_options.end();)
|
||||||
|
{
|
||||||
|
output << "\""<< it->first << "\": \"" << it->second << "\"";
|
||||||
|
it++;
|
||||||
|
if (it != string_options.end() ||
|
||||||
|
!(date_options.empty() &&
|
||||||
|
symbol_list_options.empty() &&
|
||||||
|
vector_int_options.empty()))
|
||||||
|
output << ", ";
|
||||||
|
}
|
||||||
|
|
||||||
|
for (date_options_t::const_iterator it = date_options.begin();
|
||||||
|
it != date_options.end();)
|
||||||
|
{
|
||||||
|
output << "\""<< it->first << "\": \"" << it->second << "\"";
|
||||||
|
it++;
|
||||||
|
if (it != date_options.end() ||
|
||||||
|
!(symbol_list_options.empty() &&
|
||||||
|
vector_int_options.empty()))
|
||||||
|
output << ", ";
|
||||||
|
}
|
||||||
|
|
||||||
|
for (symbol_list_options_t::const_iterator it = symbol_list_options.begin();
|
||||||
|
it != symbol_list_options.end(); it++)
|
||||||
|
{
|
||||||
|
output << "\""<< it->first << "\":";
|
||||||
|
it->second.writeJsonOutput(output);
|
||||||
|
it++;
|
||||||
|
if (it != symbol_list_options.end() ||
|
||||||
|
!vector_int_options.empty())
|
||||||
|
output << ", ";
|
||||||
|
}
|
||||||
|
|
||||||
|
for (vec_int_options_t::const_iterator it = vector_int_options.begin();
|
||||||
|
it != vector_int_options.end();)
|
||||||
|
{
|
||||||
|
output << "\""<< it->first << "\": [";
|
||||||
|
if (it->second.size() > 1)
|
||||||
|
{
|
||||||
|
for (vector<int>::const_iterator viit = it->second.begin();
|
||||||
|
viit != it->second.end();)
|
||||||
|
{
|
||||||
|
output << *viit;
|
||||||
|
viit++;
|
||||||
|
if (viit != it->second.end())
|
||||||
|
output << ", ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
output << it->second.front() << endl;
|
||||||
|
output << "]";
|
||||||
|
it++;
|
||||||
|
if (it != vector_int_options.end())
|
||||||
|
output << ", ";
|
||||||
|
}
|
||||||
|
|
||||||
|
output << "}";
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
OptionsList::clear()
|
OptionsList::clear()
|
||||||
{
|
{
|
||||||
|
@ -223,3 +333,14 @@ OptionsList::clear()
|
||||||
symbol_list_options.clear();
|
symbol_list_options.clear();
|
||||||
vector_int_options.clear();
|
vector_int_options.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
OptionsList::getNumberOfOptions() const
|
||||||
|
{
|
||||||
|
return num_options.size()
|
||||||
|
+ paired_num_options.size()
|
||||||
|
+ string_options.size()
|
||||||
|
+ date_options.size()
|
||||||
|
+ symbol_list_options.size()
|
||||||
|
+ vector_int_options.size();
|
||||||
|
}
|
||||||
|
|
|
@ -154,6 +154,7 @@ private:
|
||||||
public:
|
public:
|
||||||
NativeStatement(const string &native_statement_arg);
|
NativeStatement(const string &native_statement_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class VerbatimStatement : public Statement
|
class VerbatimStatement : public Statement
|
||||||
|
@ -163,6 +164,7 @@ private:
|
||||||
public:
|
public:
|
||||||
VerbatimStatement(const string &verbatim_statement_arg);
|
VerbatimStatement(const string &verbatim_statement_arg);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJsonOutput(ostream &output) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class OptionsList
|
class OptionsList
|
||||||
|
@ -180,8 +182,10 @@ public:
|
||||||
date_options_t date_options;
|
date_options_t date_options;
|
||||||
symbol_list_options_t symbol_list_options;
|
symbol_list_options_t symbol_list_options;
|
||||||
vec_int_options_t vector_int_options;
|
vec_int_options_t vector_int_options;
|
||||||
|
int getNumberOfOptions() const;
|
||||||
void writeOutput(ostream &output) const;
|
void writeOutput(ostream &output) const;
|
||||||
void writeOutput(ostream &output, const string &option_group) const;
|
void writeOutput(ostream &output, const string &option_group) const;
|
||||||
|
void writeJsonOutput(ostream &output) const;
|
||||||
void clear();
|
void clear();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2003-2014 Dynare Team
|
* Copyright (C) 2003-2017 Dynare Team
|
||||||
*
|
*
|
||||||
* This file is part of Dynare.
|
* This file is part of Dynare.
|
||||||
*
|
*
|
||||||
|
@ -39,6 +39,20 @@ SymbolList::writeOutput(const string &varname, ostream &output) const
|
||||||
output << ");" << endl;
|
output << ");" << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
SymbolList::writeJsonOutput(ostream &output) const
|
||||||
|
{
|
||||||
|
output << "\"symbol_list\": [";
|
||||||
|
for (vector<string>::const_iterator it = symbols.begin();
|
||||||
|
it != symbols.end(); ++it)
|
||||||
|
{
|
||||||
|
if (it != symbols.begin())
|
||||||
|
output << ",";
|
||||||
|
output << "\"" << *it << "\"";
|
||||||
|
}
|
||||||
|
output << "]";
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
SymbolList::clear()
|
SymbolList::clear()
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2003-2011 Dynare Team
|
* Copyright (C) 2003-2017 Dynare Team
|
||||||
*
|
*
|
||||||
* This file is part of Dynare.
|
* This file is part of Dynare.
|
||||||
*
|
*
|
||||||
|
@ -39,6 +39,8 @@ public:
|
||||||
//! Output content in Matlab format
|
//! Output content in Matlab format
|
||||||
/*! Creates a string array for Matlab, stored in variable "varname" */
|
/*! Creates a string array for Matlab, stored in variable "varname" */
|
||||||
void writeOutput(const string &varname, ostream &output) const;
|
void writeOutput(const string &varname, ostream &output) const;
|
||||||
|
//! Write JSON output
|
||||||
|
void writeJsonOutput(ostream &output) const;
|
||||||
//! Clears all content
|
//! Clears all content
|
||||||
void clear();
|
void clear();
|
||||||
//! Get a copy of the string vector
|
//! Get a copy of the string vector
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
*.prn
|
*.prn
|
||||||
*_simul
|
*_simul
|
||||||
*-macroexp.mod
|
*-macroexp.mod
|
||||||
|
*.json
|
||||||
|
|
||||||
wsOct
|
wsOct
|
||||||
/run_test_octave_output.txt
|
/run_test_octave_output.txt
|
||||||
|
|
|
@ -893,7 +893,11 @@ clean-local:
|
||||||
$(patsubst %.trs, %.log, $(M_TRS_FILES)) \
|
$(patsubst %.trs, %.log, $(M_TRS_FILES)) \
|
||||||
$(patsubst %.trs, %.log, $(M_XFAIL_TRS_FILES)) \
|
$(patsubst %.trs, %.log, $(M_XFAIL_TRS_FILES)) \
|
||||||
$(patsubst %.trs, %.log, $(O_TRS_FILES)) \
|
$(patsubst %.trs, %.log, $(O_TRS_FILES)) \
|
||||||
$(patsubst %.trs, %.log, $(O_XFAIL_TRS_FILES))
|
$(patsubst %.trs, %.log, $(O_XFAIL_TRS_FILES)) \
|
||||||
|
$(patsubst %.trs, %.json, $(M_TRS_FILES)) \
|
||||||
|
$(patsubst %.trs, %.json, $(M_XFAIL_TRS_FILES)) \
|
||||||
|
$(patsubst %.trs, %.json, $(O_TRS_FILES)) \
|
||||||
|
$(patsubst %.trs, %.json, $(O_XFAIL_TRS_FILES))
|
||||||
|
|
||||||
rm -f $(patsubst %.mod, %.m, $(MODFILES)) \
|
rm -f $(patsubst %.mod, %.m, $(MODFILES)) \
|
||||||
$(patsubst %.mod, %_static.*, $(MODFILES)) \
|
$(patsubst %.mod, %_static.*, $(MODFILES)) \
|
||||||
|
|
Loading…
Reference in New Issue