From d5cf07fadda4b7c9a5f0ab3d2daf0cd08a8563ff Mon Sep 17 00:00:00 2001 From: Johannes Pfeifer Date: Thu, 20 Oct 2022 20:26:27 +0200 Subject: [PATCH] Occbin: implement simul_reset_check_ahead_period-option Related to dynare@3765ef77 (dynare!2094) --- src/DynareBison.yy | 5 ++++- src/DynareFlex.ll | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/DynareBison.yy b/src/DynareBison.yy index 8adb0f85..cb458571 100644 --- a/src/DynareBison.yy +++ b/src/DynareBison.yy @@ -121,7 +121,7 @@ class ParsingDriver; %token TEX RAMSEY_MODEL RAMSEY_POLICY RAMSEY_CONSTRAINTS PLANNER_DISCOUNT PLANNER_DISCOUNT_LATEX_NAME %token DISCRETIONARY_POLICY DISCRETIONARY_TOL EVALUATE_PLANNER_OBJECTIVE %token OCCBIN_SETUP OCCBIN_SOLVER OCCBIN_WRITE_REGIMES OCCBIN_GRAPH SIMUL_MAXIT LIKELIHOOD_MAXIT SMOOTHER_MAXIT SIMUL_PERIODS LIKELIHOOD_PERIODS SMOOTHER_PERIODS -%token SIMUL_CURB_RETRENCH LIKELIHOOD_CURB_RETRENCH SMOOTHER_CURB_RETRENCH SIMUL_CHECK_AHEAD_PERIODS LIKELIHOOD_CHECK_AHEAD_PERIODS SMOOTHER_CHECK_AHEAD_PERIODS +%token SIMUL_CURB_RETRENCH LIKELIHOOD_CURB_RETRENCH SMOOTHER_CURB_RETRENCH SIMUL_CHECK_AHEAD_PERIODS SIMUL_RESET_CHECK_AHEAD_PERIODS LIKELIHOOD_CHECK_AHEAD_PERIODS SMOOTHER_CHECK_AHEAD_PERIODS %token SIMUL_DEBUG SMOOTHER_DEBUG SIMUL_PERIODIC_SOLUTION LIKELIHOOD_PERIODIC_SOLUTION SMOOTHER_PERIODIC_SOLUTION %token LIKELIHOOD_INVERSION_FILTER SMOOTHER_INVERSION_FILTER FILTER_USE_RELEXATION %token LIKELIHOOD_PIECEWISE_KALMAN_FILTER SMOOTHER_PIECEWISE_KALMAN_FILTER LIKELIHOOD_MAX_KALMAN_ITERATIONS @@ -2555,6 +2555,7 @@ occbin_setup_option : o_occbin_simul_periods | o_occbin_simul_check_ahead_periods | o_occbin_simul_periodic_solution | o_occbin_simul_debug + | o_occbin_simul_reset_check_ahead_periods | o_occbin_likelihood_periods | o_occbin_likelihood_maxit | o_occbin_likelihood_curb_retrench @@ -2588,6 +2589,7 @@ occbin_solver_option : o_occbin_simul_periods | o_occbin_simul_maxit | o_occbin_simul_curb_retrench | o_occbin_simul_check_ahead_periods + | o_occbin_simul_reset_check_ahead_periods | o_occbin_simul_debug | o_occbin_simul_periodic_solution ; @@ -4143,6 +4145,7 @@ o_occbin_simul_maxit : SIMUL_MAXIT EQUAL INT_NUMBER { driver.option_num("simul.m o_occbin_simul_periods : SIMUL_PERIODS EQUAL INT_NUMBER { driver.option_num("simul.periods", $3); }; o_occbin_simul_curb_retrench : SIMUL_CURB_RETRENCH { driver.option_num("simul.curb_retrench", "true"); }; o_occbin_simul_check_ahead_periods : SIMUL_CHECK_AHEAD_PERIODS EQUAL INT_NUMBER { driver.option_num("simul.check_ahead_periods", $3); }; +o_occbin_simul_reset_check_ahead_periods : SIMUL_RESET_CHECK_AHEAD_PERIODS { driver.option_num("simul.reset_check_ahead_periods_in_new_period", "true"); }; o_occbin_simul_debug : SIMUL_DEBUG { driver.option_num("simul.debug", "true"); }; o_occbin_simul_periodic_solution : SIMUL_PERIODIC_SOLUTION { driver.option_num("simul.periodic_solution", "true"); }; diff --git a/src/DynareFlex.ll b/src/DynareFlex.ll index 4bbf19df..cc1d696d 100644 --- a/src/DynareFlex.ll +++ b/src/DynareFlex.ll @@ -583,6 +583,7 @@ DATE -?[0-9]+([ya]|m([1-9]|1[0-2])|q[1-4]) likelihood_curb_retrench {return token::LIKELIHOOD_CURB_RETRENCH;} smoother_curb_retrench {return token::SMOOTHER_CURB_RETRENCH;} simul_check_ahead_periods {return token::SIMUL_CHECK_AHEAD_PERIODS;} +simul_reset_check_ahead_periods {return token::SIMUL_RESET_CHECK_AHEAD_PERIODS;} likelihood_check_ahead_periods {return token::LIKELIHOOD_CHECK_AHEAD_PERIODS;} smoother_check_ahead_periods {return token::SMOOTHER_CHECK_AHEAD_PERIODS;} simul_debug {return token::SIMUL_DEBUG;}