From b2b78970c6e27a59ce630532730f119ba2c9b070 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 d82aafa2..6ddff323 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
+ /* used by DynareJulia */
+%token NONSTATIONARY
 
 %token <vector<string>> SYMBOL_VEC
 
@@ -1655,6 +1657,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
@@ -4167,6 +4170,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 40884519..91f58b15 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