diff --git a/ComputingTasks.cc b/ComputingTasks.cc index a7cd3c7050b7a4d00e9087b12aaa75f8aacdce8a..61edad6abcddd989c811f8737583fab7f0d3119e 100644 --- a/ComputingTasks.cc +++ b/ComputingTasks.cc @@ -780,10 +780,9 @@ OptimWeightsStatement::writeOutput(ostream &output, const string &basename) cons } DynaSaveStatement::DynaSaveStatement(const SymbolList &symbol_list_arg, - const string &filename_arg, const string &ext_arg) : + const string &filename_arg) : symbol_list(symbol_list_arg), - filename(filename_arg), - ext(ext_arg) + filename(filename_arg) { } @@ -791,17 +790,14 @@ void DynaSaveStatement::writeOutput(ostream &output, const string &basename) const { symbol_list.writeOutput("var_list_", output); - output << "dynasave('" << filename; - if (ext.size() > 0) - output << "," << ext; - output << "',var_list_);\n"; + output << "dynasave('" << filename + << "',var_list_);" << endl; } DynaTypeStatement::DynaTypeStatement(const SymbolList &symbol_list_arg, - const string &filename_arg, const string &ext_arg) : + const string &filename_arg) : symbol_list(symbol_list_arg), - filename(filename_arg), - ext(ext_arg) + filename(filename_arg) { } @@ -809,10 +805,8 @@ void DynaTypeStatement::writeOutput(ostream &output, const string &basename) const { symbol_list.writeOutput("var_list_", output); - output << "dynatype(" << filename; - if (ext.size() > 0) - output << "," << ext; - output << ",var_list_);\n"; + output << "dynatype('" << filename + << "',var_list_);" << endl; } ModelComparisonStatement::ModelComparisonStatement(const filename_list_type &filename_list_arg, diff --git a/DynareBison.yy b/DynareBison.yy index fe3ec9a813b0d371256f0b529bff7ea30d8f8693..89fcf57d071fb6122b786de414af67a4ac255ada 100644 --- a/DynareBison.yy +++ b/DynareBison.yy @@ -373,7 +373,7 @@ comma_expression : expression initval : INITVAL ';' initval_list END { driver.end_initval(); } -initval_file : INITVAL_FILE '(' FILENAME EQUAL NAME ')' ';' +initval_file : INITVAL_FILE '(' FILENAME EQUAL filename ')' ';' { driver.initval_file($5); } ; @@ -1091,32 +1091,16 @@ calib : CALIB ';' { driver.run_calib(1); } ; -dynatype : DYNATYPE '(' NAME ')'';' +dynatype : DYNATYPE '(' filename ')'';' { driver.run_dynatype($3); } - | DYNATYPE '(' NAME ')' symbol_list ';' + | DYNATYPE '(' filename ')' symbol_list ';' { driver.run_dynatype($3); } - | DYNATYPE NAME ';' - { driver.run_dynatype($2); } - | DYNATYPE '(' NAME '.' NAME ')'';' - { driver.run_dynatype($3, $5); } - | DYNATYPE '(' NAME '.' NAME ')' symbol_list ';' - { driver.run_dynatype($3, $5); } - | DYNATYPE NAME '.' NAME ';' - { driver.run_dynatype($2,$4); } ; -dynasave : DYNASAVE '(' NAME ')'';' +dynasave : DYNASAVE '(' filename ')'';' { driver.run_dynasave($3); } - | DYNASAVE '(' NAME ')' symbol_list ';' + | DYNASAVE '(' filename ')' symbol_list ';' { driver.run_dynasave($3); } - | DYNASAVE NAME ';' - { driver.run_dynasave($2); } - | DYNASAVE '(' NAME '.' NAME ')'';' - { driver.run_dynasave($3, $5); } - | DYNASAVE '(' NAME '.' NAME ')' symbol_list ';' - { driver.run_dynasave($3, $5); } - | DYNASAVE NAME '.' NAME ';' - { driver.run_dynasave($2, $4); } ; model_comparison : MODEL_COMPARISON mc_filename_list ';' @@ -1323,7 +1307,7 @@ o_markowitz : MARKOWITZ EQUAL number { driver.option_num("markowitz", $3); }; o_simul : SIMUL { driver.option_num("simul", "1"); }; o_simul_seed : SIMUL_SEED EQUAL INT_NUMBER { driver.option_num("simul_seed", $3)} ; o_qz_criterium : QZ_CRITERIUM EQUAL number { driver.option_num("qz_criterium", $3) }; -o_datafile : DATAFILE EQUAL NAME { driver.option_str("datafile", $3); }; +o_datafile : DATAFILE EQUAL filename { driver.option_str("datafile", $3); }; o_nobs : NOBS EQUAL vec_int { driver.option_num("nobs", $3); } | NOBS EQUAL INT_NUMBER diff --git a/ParsingDriver.cc b/ParsingDriver.cc index ae63f37eb39f600dfe746724e6e18232efe2ca99..a6afab0a86215b54a860f6b12ffacedeb1e33234 100644 --- a/ParsingDriver.cc +++ b/ParsingDriver.cc @@ -1004,21 +1004,19 @@ ParsingDriver::run_calib(int covar) } void -ParsingDriver::run_dynatype(string *filename, string *ext) +ParsingDriver::run_dynatype(string *filename) { - mod_file->addStatement(new DynaTypeStatement(symbol_list, *filename, *ext)); + mod_file->addStatement(new DynaTypeStatement(symbol_list, *filename)); symbol_list.clear(); delete filename; - delete ext; } void -ParsingDriver::run_dynasave(string *filename, string *ext) +ParsingDriver::run_dynasave(string *filename) { - mod_file->addStatement(new DynaSaveStatement(symbol_list, *filename, *ext)); + mod_file->addStatement(new DynaSaveStatement(symbol_list, *filename)); symbol_list.clear(); delete filename; - delete ext; } void diff --git a/include/ComputingTasks.hh b/include/ComputingTasks.hh index 46827eee22688382cab212ed6b5a060d055b8ae0..eaa5703b4b7fe62d955be5ab82b6799d7a424837 100644 --- a/include/ComputingTasks.hh +++ b/include/ComputingTasks.hh @@ -270,10 +270,9 @@ class DynaTypeStatement : public Statement private: const SymbolList symbol_list; const string filename; - const string ext; public: DynaTypeStatement(const SymbolList &symbol_list_arg, - const string &filename_arg, const string &ext_arg); + const string &filename_arg); virtual void writeOutput(ostream &output, const string &basename) const; }; @@ -282,10 +281,9 @@ class DynaSaveStatement : public Statement private: const SymbolList symbol_list; const string filename; - const string ext; public: DynaSaveStatement(const SymbolList &symbol_list_arg, - const string &filename_arg, const string &ext_arg); + const string &filename_arg); virtual void writeOutput(ostream &output, const string &basename) const; }; diff --git a/include/ParsingDriver.hh b/include/ParsingDriver.hh index 68b1db1eef51fa4aacd0b368be25a7b589522d53..a4000579bf96492d58c5c4f8cf08e26c0402efba 100644 --- a/include/ParsingDriver.hh +++ b/include/ParsingDriver.hh @@ -322,8 +322,8 @@ public: void set_calib_covar(string *name1, string *name2, string *weight, NodeID expression); void set_calib_ac(string *name, string *ar, string *weight, NodeID expression); void run_calib(int covar); - void run_dynasave(string *arg1, string *arg2 = new string); - void run_dynatype(string *arg1, string *arg2 = new string); + void run_dynasave(string *filename); + void run_dynatype(string *filename); void add_mc_filename(string *filename, string *prior = new string("1")); void run_model_comparison(); //! Begin a planner_objective statement