From 73c513802fab2d9ff53ab756e045e50e2e0bce9b Mon Sep 17 00:00:00 2001 From: sebastien Date: Mon, 13 Oct 2008 16:06:07 +0000 Subject: [PATCH] trunk: * DynareBison.yy: use "filename" rule for initval_file, dynasave, dynatype and datafile option * DynareBison.yy: removed some spurious syntaxes for dynatype and dynasave * ComputingTasks.cc: bugfix for dynatype * cosmetic changes to dynatype.m and dynasave.m git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2145 ac1d8469-bf42-47a9-8791-bf33cf982152 --- matlab/dynasave.m | 5 ++--- matlab/dynatype.m | 5 ++--- preprocessor/ComputingTasks.cc | 22 ++++++++------------ preprocessor/DynareBison.yy | 28 ++++++-------------------- preprocessor/ParsingDriver.cc | 10 ++++----- preprocessor/include/ComputingTasks.hh | 6 ++---- preprocessor/include/ParsingDriver.hh | 4 ++-- 7 files changed, 26 insertions(+), 54 deletions(-) diff --git a/matlab/dynasave.m b/matlab/dynasave.m index 2531a13ec..725d7bd13 100644 --- a/matlab/dynasave.m +++ b/matlab/dynasave.m @@ -3,10 +3,9 @@ function dynasave(s,var_list) % function dynasave(s,var_list) % This optional command saves the simulation results in a .MAT file. -% DYNASAVE : DYNASAVE ( [ 'filename' ] ) % % INPUTS -% s: matrix of endogenous variables values +% s: filename % var_list: vector of selected endogenous variables % % OUTPUTS @@ -15,7 +14,7 @@ function dynasave(s,var_list) % SPECIAL REQUIREMENTS % none -% Copyright (C) 2001-2007 Dynare Team +% Copyright (C) 2001-2008 Dynare Team % % This file is part of Dynare. % diff --git a/matlab/dynatype.m b/matlab/dynatype.m index fe606dbf5..661a5a0ba 100644 --- a/matlab/dynatype.m +++ b/matlab/dynatype.m @@ -2,10 +2,9 @@ function dynatype (s,var_list) % function dynatype (s,var_list) % This optional command saves the simulation results in a text file. The name of each % variable preceeds the corresponding results. This command must follow SIMUL. -% DYNATYPE : DYNATYPE ( [ 'filename' ] ) % % INPUTS -% s: matrix of endogenous variables values +% s: filename % var_list: vector of selected endogenous variables % % OUTPUTS @@ -14,7 +13,7 @@ function dynatype (s,var_list) % SPECIAL REQUIREMENTS % none -% Copyright (C) 2001-2007 Dynare Team +% Copyright (C) 2001-2008 Dynare Team % % This file is part of Dynare. % diff --git a/preprocessor/ComputingTasks.cc b/preprocessor/ComputingTasks.cc index a7cd3c705..61edad6ab 100644 --- a/preprocessor/ComputingTasks.cc +++ b/preprocessor/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/preprocessor/DynareBison.yy b/preprocessor/DynareBison.yy index fe3ec9a81..89fcf57d0 100644 --- a/preprocessor/DynareBison.yy +++ b/preprocessor/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/preprocessor/ParsingDriver.cc b/preprocessor/ParsingDriver.cc index ae63f37eb..a6afab0a8 100644 --- a/preprocessor/ParsingDriver.cc +++ b/preprocessor/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/preprocessor/include/ComputingTasks.hh b/preprocessor/include/ComputingTasks.hh index 46827eee2..eaa5703b4 100644 --- a/preprocessor/include/ComputingTasks.hh +++ b/preprocessor/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/preprocessor/include/ParsingDriver.hh b/preprocessor/include/ParsingDriver.hh index 68b1db1ee..a4000579b 100644 --- a/preprocessor/include/ParsingDriver.hh +++ b/preprocessor/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