From 0d635aed363487eaf4d6302afb6fea579dab4ddb Mon Sep 17 00:00:00 2001
From: Johannes Pfeifer <jpfeifer@gmx.de>
Date: Thu, 27 May 2021 12:30:21 +0200
Subject: [PATCH] Add smoother_redux option

---
 src/DynareBison.yy | 7 ++++++-
 src/DynareFlex.ll  | 1 +
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/DynareBison.yy b/src/DynareBison.yy
index 575686d6..410195d0 100644
--- a/src/DynareBison.yy
+++ b/src/DynareBison.yy
@@ -144,7 +144,7 @@ class ParsingDriver;
 %token <string> ALPHA BETA ABAND NINV CMS NCMS CNUM GAMMA INV_GAMMA INV_GAMMA1 INV_GAMMA2 NORMAL UNIFORM EPS PDF FIG DR NONE PRIOR PRIOR_VARIANCE HESSIAN IDENTITY_MATRIX DIRICHLET DIAGONAL OPTIMAL
 %token GSIG2_LMDM Q_DIAG FLAT_PRIOR NCSK NSTD WEIBULL WEIBULL_PDF GMM SMM
 %token INDXPARR INDXOVR INDXAP APBAND INDXIMF INDXFORE FOREBAND INDXGFOREHAT INDXGIMFHAT
-%token INDXESTIMA INDXGDLS EQ_MS FILTER_COVARIANCE FILTER_DECOMPOSITION SMOOTHED_STATE_UNCERTAINTY
+%token INDXESTIMA INDXGDLS EQ_MS FILTER_COVARIANCE FILTER_DECOMPOSITION SMOOTHED_STATE_UNCERTAINTY SMOOTHER_REDUX
 %token EQ_CMS TLINDX TLNUMBER RESTRICTIONS POSTERIOR_SAMPLER_OPTIONS
 %token OUTPUT_FILE_TAG HORIZON
 %token SBVAR TREND_VAR DEFLATOR GROWTH_FACTOR MS_IRF MS_VARIANCE_DECOMPOSITION GROWTH
@@ -1958,6 +1958,7 @@ estimation_options : o_datafile
                    | o_filter_covariance
                    | o_filter_decomposition
                    | o_smoothed_state_uncertainty
+                   | o_smoother_redux
                    | o_selected_variables_only
                    | o_conditional_variance_decomposition
                    | o_cova_compute
@@ -2934,6 +2935,7 @@ calib_smoother_option : o_filtered_vars
                       | o_diffuse_kalman_tol
                       | o_diffuse_filter
                       | o_smoothed_state_uncertainty
+                      | o_smoother_redux
                       | o_parameter_set
                       | o_xls_sheet
                       | o_xls_range
@@ -3621,6 +3623,9 @@ o_filter_decomposition : FILTER_DECOMPOSITION
 o_smoothed_state_uncertainty : SMOOTHED_STATE_UNCERTAINTY
                            { driver.option_num("smoothed_state_uncertainty","true");}
                          ;
+o_smoother_redux : SMOOTHER_REDUX
+                           { driver.option_num("smoother_redux","true");}
+
 o_selected_variables_only : SELECTED_VARIABLES_ONLY
                            { driver.option_num("selected_variables_only","true");}
                           ;
diff --git a/src/DynareFlex.ll b/src/DynareFlex.ll
index b7113f79..53938b16 100644
--- a/src/DynareFlex.ll
+++ b/src/DynareFlex.ll
@@ -640,6 +640,7 @@ DATE -?[0-9]+([ya]|m([1-9]|1[0-2])|q[1-4])
 <DYNARE_STATEMENT>filter_covariance {return token::FILTER_COVARIANCE; }
 <DYNARE_STATEMENT>filter_decomposition {return token::FILTER_DECOMPOSITION; }
 <DYNARE_STATEMENT>smoothed_state_uncertainty {return token::SMOOTHED_STATE_UNCERTAINTY; }
+<DYNARE_STATEMENT>smoother_redux {return token::SMOOTHER_REDUX; }
 <DYNARE_STATEMENT>selected_variables_only {return token::SELECTED_VARIABLES_ONLY; }
 <DYNARE_STATEMENT>pruning {return token::PRUNING; }
 <DYNARE_STATEMENT>save_draws {return token::SAVE_DRAWS; }
-- 
GitLab