From 1c44baea0575e30416fcf85830f7e3b2156bc874 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org>
Date: Mon, 20 Jan 2020 16:21:25 +0100
Subject: [PATCH] =?UTF-8?q?New=20option=20=E2=80=9Cfiltered=5Ftheoretical?=
 =?UTF-8?q?=5Fmoments=5Fgrid=E2=80=9D,=20that=20supersedes=20=E2=80=9Chp?=
 =?UTF-8?q?=5Fngrid=E2=80=9D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The old option is left for backward-compatibility purposes, but it has the same
effect as the new one.

Ref. dynare#1093
---
 src/DynareBison.yy | 9 +++++++--
 src/DynareFlex.ll  | 1 +
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/DynareBison.yy b/src/DynareBison.yy
index 7754c931..dc16976c 100644
--- a/src/DynareBison.yy
+++ b/src/DynareBison.yy
@@ -87,7 +87,7 @@ class ParsingDriver;
 %token DEFAULT FIXED_POINT FLIP OPT_ALGO COMPILATION_SETUP COMPILER ADD_FLAGS SUBSTITUTE_FLAGS ADD_LIBS SUBSTITUTE_LIBS
 %token FORECAST K_ORDER_SOLVER INSTRUMENTS SHIFT MEAN STDEV VARIANCE MODE INTERVAL SHAPE DOMAINN
 %token GAMMA_PDF GRAPH GRAPH_FORMAT CONDITIONAL_VARIANCE_DECOMPOSITION NOCHECK STD
-%token HISTVAL HISTVAL_FILE HOMOTOPY_SETUP HOMOTOPY_MODE HOMOTOPY_STEPS HOMOTOPY_FORCE_CONTINUE HP_FILTER HP_NGRID HYBRID ONE_SIDED_HP_FILTER
+%token HISTVAL HISTVAL_FILE HOMOTOPY_SETUP HOMOTOPY_MODE HOMOTOPY_STEPS HOMOTOPY_FORCE_CONTINUE HP_FILTER HP_NGRID FILTERED_THEORETICAL_MOMENTS_GRID HYBRID ONE_SIDED_HP_FILTER
 %token IDENTIFICATION INF_CONSTANT INITVAL INITVAL_FILE BOUNDS JSCALE INIT INFILE INVARS
 %token <string> INT_NUMBER
 %token INV_GAMMA_PDF INV_GAMMA1_PDF INV_GAMMA2_PDF IRF IRF_SHOCKS IRF_PLOT_THRESHOLD IRF_CALIBRATION
@@ -1515,6 +1515,7 @@ stoch_simul_primary_options : o_dr_algo
                             | o_diagonal_only
                             | o_hp_filter
                             | o_hp_ngrid
+                            | o_filtered_theoretical_moments_grid
                             | o_periods
                             | o_simul
                             | o_simul_seed
@@ -3169,7 +3170,11 @@ o_nomoments : NOMOMENTS { driver.option_num("nomoments", "true"); };
 o_irf : IRF EQUAL INT_NUMBER { driver.option_num("irf", $3); };
 o_irf_shocks : IRF_SHOCKS EQUAL '(' symbol_list ')' { driver.option_symbol_list("irf_shocks"); };
 o_hp_filter : HP_FILTER EQUAL non_negative_number { driver.option_num("hp_filter", $3); };
-o_hp_ngrid : HP_NGRID EQUAL INT_NUMBER { driver.option_num("hp_ngrid", $3); };
+o_hp_ngrid : HP_NGRID EQUAL INT_NUMBER {
+                                         driver.warning("The 'hp_ngrid' option is deprecated. It has been superseded by the 'filtered_theoretical_moments_grid' option.");
+                                         driver.option_num("filtered_theoretical_moments_grid", $3);
+                                       };
+o_filtered_theoretical_moments_grid : FILTERED_THEORETICAL_MOMENTS_GRID EQUAL INT_NUMBER { driver.option_num("filtered_theoretical_moments_grid", $3); };
 o_one_sided_hp_filter : ONE_SIDED_HP_FILTER EQUAL non_negative_number { driver.option_num("one_sided_hp_filter", $3); };
 o_periods : PERIODS EQUAL INT_NUMBER { driver.option_num("periods", $3); };
 o_solver_periods : SOLVER_PERIODS EQUAL INT_NUMBER { driver.option_num("ep.periods", $3); };
diff --git a/src/DynareFlex.ll b/src/DynareFlex.ll
index eb291391..7cc2b6cd 100644
--- a/src/DynareFlex.ll
+++ b/src/DynareFlex.ll
@@ -765,6 +765,7 @@ DATE -?[0-9]+([ya]|m([1-9]|1[0-2])|q[1-4]|w([1-9]{1}|[1-4][0-9]|5[0-2]))
 <DYNARE_STATEMENT>one_sided_hp_filter {return token::ONE_SIDED_HP_FILTER;}
 <DYNARE_STATEMENT>bandpass_filter {return token::BANDPASS_FILTER;}
 <DYNARE_STATEMENT>hp_ngrid {return token::HP_NGRID;}
+<DYNARE_STATEMENT>filtered_theoretical_moments_grid {return token::FILTERED_THEORETICAL_MOMENTS_GRID;}
 <DYNARE_STATEMENT>simul_seed {return token::SIMUL_SEED;}
 <DYNARE_STATEMENT>qz_criterium {return token::QZ_CRITERIUM;}
 <DYNARE_STATEMENT>qz_zero_threshold {return token::QZ_ZERO_THRESHOLD;}
-- 
GitLab