v4 preprocessor: added code for GSA (Marco) not finishde

git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1405 ac1d8469-bf42-47a9-8791-bf33cf982152
time-shift
michel 2007-10-02 14:05:16 +00:00
parent f9b21362ef
commit ad3273d726
7 changed files with 2242 additions and 1928 deletions

View File

@ -205,6 +205,18 @@ PosteriorAnalysisStatement::writeOutput(ostream &output, const string &basename)
output << "posterior_analysis(var_list_);\n";
}
DynareSensitivityStatement::DynareSensitivityStatement(const OptionsList &options_list_arg) :
options_list(options_list_arg)
{
}
void
DynareSensitivityStatement::writeOutput(ostream &output, const string &basename) const
{
options_list.writeOutput(output);
output << "dynare_sensitivity;" << endl;
}
RplotStatement::RplotStatement(const TmpSymbolTable &tmp_symbol_table_arg,
const OptionsList &options_list_arg) :
tmp_symbol_table(tmp_symbol_table_arg),

File diff suppressed because it is too large Load Diff

View File

@ -83,8 +83,9 @@ int sigma_e = 0;
<INITIAL>bvar_density {BEGIN DYNARE_STATEMENT; return token::BVAR_DENSITY; }
<INITIAL>bvar_forecast {BEGIN DYNARE_STATEMENT; return token::BVAR_FORECAST; }
<INITIAL>dynare_sensitivity {BEGIN DYNARE_STATEMENT; return token::DYNARE_SENSITIVITY;}
/* End of a Dynare statement */
<DYNARE_STATEMENT>; {
if (!sigma_e)
BEGIN INITIAL;
@ -260,6 +261,41 @@ int sigma_e = 0;
<DYNARE_STATEMENT,DYNARE_BLOCK>atanh {return token::ATANH;}
<DYNARE_STATEMENT,DYNARE_BLOCK>sqrt {return token::SQRT;}
/* options for GSA module by Marco Ratto */
<DYNARE_STATEMENT>identification {return token::IDENTIFICATION;}
<DYNARE_STATEMENT>morris {return token::MORRIS;}
<DYNARE_STATEMENT>stab {return token::STAB;}
<DYNARE_STATEMENT>redform {return token::REDFORM;}
<DYNARE_STATEMENT>pprior {return token::PPRIOR;}
<DYNARE_STATEMENT>prior_range {return token::PRIOR_RANGE;}
<DYNARE_STATEMENT>ppost {return token::PPOST;}
<DYNARE_STATEMENT>ilptau {return token::ILPTAU;}
<DYNARE_STATEMENT>morris {return token::MORRIS;}
<DYNARE_STATEMENT>glue {return token::GLUE;}
<DYNARE_STATEMENT>morris_nliv {return token::MORRIS_NLIV;}
<DYNARE_STATEMENT>morris_ntra {return token::MORRIS_NTRA;}
<DYNARE_STATEMENT>Nsam {return token::NSAM;}
<DYNARE_STATEMENT>load_redform {return token::LOAD_REDFORM;}
<DYNARE_STATEMENT>load_rmse {return token::LOAD_RMSE;}
<DYNARE_STATEMENT>load_stab {return token::LOAD_STAB;}
<DYNARE_STATEMENT>alpha2_stab {return token::ALPHA2_STAB;}
<DYNARE_STATEMENT>ksstat {return token::KSSTAT;}
<DYNARE_STATEMENT>logtrans_redform {return token::LOGTRANS_REDFORM;}
<DYNARE_STATEMENT>threshold_redform {return token::THRESHOLD_REDFORM;}
<DYNARE_STATEMENT>ksstat_redform {return token::KSSTAT_REDFORM;}
<DYNARE_STATEMENT>alpha2_redform {return token::ALPHA2_REDFORM;}
<DYNARE_STATEMENT>namendo {return token::NAMENDO;}
<DYNARE_STATEMENT>namlagendo {return token::NAMLAGENDO;}
<DYNARE_STATEMENT>namexo {return token::NAMEXO;}
<DYNARE_STATEMENT>rmse {return token::RMSE;}
<DYNARE_STATEMENT>lik_only {return token::LIK_ONLY;}
<DYNARE_STATEMENT>var_rmse {return token::VAR_RMSE;}
<DYNARE_STATEMENT>pfilt_rmse {return token::PFILT_RMSE;}
<DYNARE_STATEMENT>istart_rmse {return token::ISTART_RMSE;}
<DYNARE_STATEMENT>alpha_rmse {return token::ALPHA_RMSE;}
<DYNARE_STATEMENT>alpha2_rmse {return token::ALPHA2_RMSE;}
/* end of GSA options */
<DYNARE_STATEMENT,DYNARE_BLOCK>[A-Za-z_][A-Za-z0-9_]* {
yylval->string_val = new string(yytext);
return token::NAME;

View File

@ -727,6 +727,13 @@ ParsingDriver::run_posterior_analysis()
options_list.clear();
}
void
ParsingDriver::dynare_sensitivity()
{
mod_file->addStatement(new DynareSensitivityStatement(options_list));
options_list.clear();
}
void
ParsingDriver::optim_options_helper(const string &name)
{

View File

@ -164,6 +164,15 @@ public:
virtual void writeOutput(ostream &output, const string &basename) const;
};
class DynareSensitivityStatement : public Statement
{
private:
const OptionsList options_list;
public:
DynareSensitivityStatement(const OptionsList &options_list_arg);
virtual void writeOutput(ostream &output, const string &basename) const;
};
class VarobsStatement : public Statement
{
private:

View File

@ -280,7 +280,39 @@ namespace yy
ASINH = 408,
ACOSH = 409,
ATANH = 410,
SQRT = 411
SQRT = 411,
DYNARE_SENSITIVITY = 412,
IDENTIFICATION = 413,
MORRIS = 414,
STAB = 415,
REDFORM = 416,
PPRIOR = 417,
PRIOR_RANGE = 418,
PPOST = 419,
ILPTAU = 420,
GLUE = 421,
MORRIS_NLIV = 422,
MORRIS_NTRA = 423,
NSAM = 424,
LOAD_REDFORM = 425,
LOAD_RMSE = 426,
LOAD_STAB = 427,
ALPHA2_STAB = 428,
KSSTAT = 429,
LOGTRANS_REDFORM = 430,
THRESHOLD_REDFORM = 431,
KSSTAT_REDFORM = 432,
ALPHA2_REDFORM = 433,
NAMENDO = 434,
NAMLAGENDO = 435,
NAMEXO = 436,
RMSE = 437,
LIK_ONLY = 438,
VAR_RMSE = 439,
PFILT_RMSE = 440,
ISTART_RMSE = 441,
ALPHA_RMSE = 442,
ALPHA2_RMSE = 443
};
};

View File

@ -275,6 +275,8 @@ public:
void run_prior_analysis();
//! Runs posterior_analysis();
void run_posterior_analysis();
//! Runs dynare_sensitivy()
void dynare_sensitivity();
//! Adds an optimization option (string value)
void optim_options_string(string *name, string *value);
//! Adds an optimization option (numeric value)