From 17477ab095bb4f9b24d0da5ec5cf747f41988bb4 Mon Sep 17 00:00:00 2001 From: Michel Juillard Date: Fri, 7 Mar 2014 17:18:06 +0100 Subject: [PATCH] adding ramsey_model to Dynare grammar --- preprocessor/DynareBison.yy | 21 ++++++++++++++++++++- preprocessor/DynareFlex.ll | 1 + 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/preprocessor/DynareBison.yy b/preprocessor/DynareBison.yy index 3ce406b78..500b8d14e 100644 --- a/preprocessor/DynareBison.yy +++ b/preprocessor/DynareBison.yy @@ -119,7 +119,7 @@ class ParsingDriver; %token SHOCKS SHOCK_DECOMPOSITION SIGMA_E SIMUL SIMUL_ALGO SIMUL_SEED ENDOGENOUS_TERMINAL_PERIOD %token SMOOTHER SQUARE_ROOT_SOLVER STACK_SOLVE_ALGO STEADY_STATE_MODEL SOLVE_ALGO SOLVER_PERIODS %token STDERR STEADY STOCH_SIMUL SURPRISE SYLVESTER SYLVESTER_FIXED_POINT_TOL REGIMES REGIME -%token TEX RAMSEY_POLICY PLANNER_DISCOUNT DISCRETIONARY_POLICY DISCRETIONARY_TOL +%token TEX RAMSEY_MODEL RAMSEY_POLICY PLANNER_DISCOUNT DISCRETIONARY_POLICY DISCRETIONARY_TOL %token TEX_NAME %token UNIFORM_PDF UNIT_ROOT_VARS USE_DLL USEAUTOCORR GSA_SAMPLE_FILE USE_UNIVARIATE_FILTERS_IF_SINGULARITY_IS_DETECTED %token VALUES VAR VAREXO VAREXO_DET VAROBS PREDETERMINED_VARIABLES @@ -232,6 +232,7 @@ statement : parameters | model_comparison | model_info | planner_objective + | ramsey_model | ramsey_policy | discretionary_policy | bvar_density @@ -1778,6 +1779,16 @@ mc_filename_list : filename planner_objective : PLANNER_OBJECTIVE { driver.begin_planner_objective(); } hand_side { driver.end_planner_objective($3); } ';'; +ramsey_model : RAMSEY_MODEL ';' + { driver.ramsey_model(); } + | RAMSEY_MODEL '(' ramsey_model_options_list ')' ';' + { driver.ramsey_model(); } + | RAMSEY_MODEL symbol_list ';' + { driver.ramsey_model(); } + | RAMSEY_MODEL '(' ramsey_model_options_list ')' symbol_list ';' + { driver.ramsey_model(); } + ; + ramsey_policy : RAMSEY_POLICY ';' { driver.ramsey_policy(); } | RAMSEY_POLICY '(' ramsey_policy_options_list ')' ';' @@ -1807,6 +1818,14 @@ discretionary_policy_options : ramsey_policy_options | o_dp_maxit; ; +ramsey_model_options_list : ramsey_model_options_list COMMA ramsey_model_options + | ramsey_model_options + ; + +ramsey_model_options : o_planner_discount + | o_instruments + ; + ramsey_policy_options_list : ramsey_policy_options_list COMMA ramsey_policy_options | ramsey_policy_options ; diff --git a/preprocessor/DynareFlex.ll b/preprocessor/DynareFlex.ll index 9c0404441..5cc354341 100644 --- a/preprocessor/DynareFlex.ll +++ b/preprocessor/DynareFlex.ll @@ -137,6 +137,7 @@ DATE -?[0-9]+([YyAa]|[Mm]([1-9]|1[0-2])|[Qq][1-4]|[Ww]([1-9]{1}|[1-4][0-9]|5[0-2 dsample {BEGIN DYNARE_STATEMENT; return token::DSAMPLE;} Sigma_e {BEGIN DYNARE_STATEMENT; sigma_e = 1; return token::SIGMA_E;} planner_objective {BEGIN DYNARE_STATEMENT; return token::PLANNER_OBJECTIVE;} +ramsey_model {BEGIN DYNARE_STATEMENT; return token::RAMSEY_MODEL;} ramsey_policy {BEGIN DYNARE_STATEMENT; return token::RAMSEY_POLICY;} discretionary_policy {BEGIN DYNARE_STATEMENT; return token::DISCRETIONARY_POLICY;} identification {BEGIN DYNARE_STATEMENT; return token::IDENTIFICATION;}