adding ramsey_model to ParsingDriver

time-shift
Michel Juillard 2014-03-08 09:55:00 +01:00
parent 17477ab095
commit e90859ba52
2 changed files with 13 additions and 1 deletions

View File

@ -214,7 +214,7 @@ ParsingDriver::declare_optimal_policy_discount_factor_parameter(expr_t exprnode)
string *optimalParName_declare = new string("optimal_policy_discount_factor");
string *optimalParName_init = new string("optimal_policy_discount_factor");
if (mod_file->symbol_table.exists(*optimalParName_declare))
error("Symbol optimal_policy_discount_factor is needed by Dynare when using an ramsey_policy or a discretionary_policy statement");
error("Symbol optimal_policy_discount_factor is needed by Dynare when using a ramsey_model, a ramsey_policy or a discretionary_policy statement");
declare_parameter(optimalParName_declare, NULL);
init_param(optimalParName_init, exprnode);
}
@ -1775,6 +1775,16 @@ ParsingDriver::end_planner_objective(expr_t expr)
reset_data_tree();
}
void
ParsingDriver::ramsey_model()
{
if (!mod_file->symbol_table.exists("optimal_policy_discount_factor"))
declare_optimal_policy_discount_factor_parameter(data_tree->One);
mod_file->addStatement(new RamseyModelStatement(symbol_list, options_list));
symbol_list.clear();
options_list.clear();
}
void
ParsingDriver::ramsey_policy()
{

View File

@ -493,6 +493,8 @@ public:
void begin_planner_objective();
//! End a planner objective statement
void end_planner_objective(expr_t expr);
//! Ramsey model statement
void ramsey_model();
//! Ramsey policy statement
void ramsey_policy();
//! Discretionary policy statement