From ce0f630d47ca3e744c5dee8f41b9cc837a4aaa01 Mon Sep 17 00:00:00 2001
From: MichelJuillard <michel.juillard@mjui.fr>
Date: Wed, 11 Jan 2023 20:34:58 +0100
Subject: [PATCH] add nonstationary option to stoch_simul

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

diff --git a/src/DynareBison.yy b/src/DynareBison.yy
index c505d866..57810eb2 100644
--- a/src/DynareBison.yy
+++ b/src/DynareBison.yy
@@ -190,6 +190,8 @@ class ParsingDriver;
 %token MAX_NROWS SQUEEZE_SHOCK_DECOMPOSITION WITH_EPILOGUE MODEL_REMOVE MODEL_REPLACE MODEL_OPTIONS
 %token VAR_REMOVE ESTIMATED_PARAMS_REMOVE BLOCK_STATIC BLOCK_DYNAMIC INCIDENCE RESID NON_ZERO LEARNT_IN PLUS_EQUAL TIMES_EQUAL
 %token FSOLVE_OPTIONS HOMOTOPY_ALT_STARTING_POINT
+ /* used by DynareJulia */
+%token NONSTATIONARY
 
 %token <vector<string>> SYMBOL_VEC
 
@@ -1656,6 +1658,7 @@ stoch_simul_primary_options : o_dr_algo
                             | o_irf_plot_threshold
                             | o_dr_display_tol
                             | o_tex
+                            | o_nonstationary
                             ;
 
 stoch_simul_options : stoch_simul_primary_options
@@ -4169,6 +4172,9 @@ o_occbin_write_regimes_simul : SIMUL { driver.option_str("write_regimes.type", "
 // Some options to "occbin_graph"
 o_occbin_graph_noconstant : NOCONSTANT { driver.option_num("graph.steady_state", "false"); };
 
+// options used by DynareJulila
+o_nonstationary : NONSTATIONARY { driver.option_num("nonstationary", "true"); };
+
 range : symbol ':' symbol
         { $$ = $1 + ':' + $3; }
 
diff --git a/src/DynareFlex.ll b/src/DynareFlex.ll
index 3d0641d0..8a758a0a 100644
--- a/src/DynareFlex.ll
+++ b/src/DynareFlex.ll
@@ -753,6 +753,7 @@ DATE -?[0-9]+([ya]|m([1-9]|1[0-2])|q[1-4])
 <DYNARE_STATEMENT>with_epilogue {return token::WITH_EPILOGUE;}
 <DYNARE_STATEMENT>heteroskedastic_filter {return token::HETEROSKEDASTIC_FILTER;}
 <DYNARE_STATEMENT>non_zero {return token::NON_ZERO;}
+<DYNARE_STATEMENT>nonstationary {return token::NONSTATIONARY;}
 
 <DYNARE_STATEMENT>\$[^$]*\$ {
   strtok(yytext+1, "$");
-- 
GitLab