From 60fb8aeaae05b9fd2080567a8f2a16c2e52f7691 Mon Sep 17 00:00:00 2001
From: Michel Juillard <michel.juillard@mjui.fr>
Date: Mon, 16 Apr 2012 22:40:50 +0200
Subject: [PATCH] added steady option stop_on_error. stop_on_error = 0 permits
 to continue (for example, when chaining homotopy steps), even if the steady
 state computation was not successful.

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

diff --git a/DynareBison.yy b/DynareBison.yy
index f4efacc1..b21dca2f 100644
--- a/DynareBison.yy
+++ b/DynareBison.yy
@@ -130,7 +130,7 @@ class ParsingDriver;
 %token UNIFORM_PDF UNIT_ROOT_VARS USE_DLL USEAUTOCORR GSA_SAMPLE_FILE
 %token VALUES VAR VAREXO VAREXO_DET VAROBS PREDETERMINED_VARIABLES
 %token WRITE_LATEX_DYNAMIC_MODEL WRITE_LATEX_STATIC_MODEL
-%token XLS_SHEET XLS_RANGE
+%token XLS_SHEET XLS_RANGE STOP_ON_ERROR
 %left COMMA
 %left EQUAL_EQUAL EXCLAMATION_EQUAL
 %left LESS GREATER LESS_EQUAL GREATER_EQUAL
@@ -836,6 +836,7 @@ steady_options : o_solve_algo
                | o_markowitz
                | o_maxit
                | o_nocheck
+               | o_stop_on_error
                ;
 
 check : CHECK ';'
@@ -2483,6 +2484,7 @@ o_median : MEDIAN { driver.option_num("ms.median","1"); }
 o_regimes : REGIMES { driver.option_num("ms.regimes","1"); };
 o_regime : REGIME EQUAL INT_NUMBER { driver.option_num("ms.regime",$3); };
 o_data_obs_nbr : DATA_OBS_NBR EQUAL INT_NUMBER { driver.option_num("ms.forecast_data_obs",$3); };
+o_stop_on_error: STOP_ON_ERROR EQUAL INT_NUMBER { driver.option_num("steady.stop_on_eror",$3); };
 
 range : symbol ':' symbol
         {
diff --git a/DynareFlex.ll b/DynareFlex.ll
index c4bee049..6a21053c 100644
--- a/DynareFlex.ll
+++ b/DynareFlex.ll
@@ -451,6 +451,7 @@ string eofbuff;
 <DYNARE_STATEMENT>deflator {return token::DEFLATOR;}
 <DYNARE_STATEMENT>growth_factor {return token::GROWTH_FACTOR;}
 <DYNARE_STATEMENT>cova_compute {return token::COVA_COMPUTE;}
+<DYNARE_STATEMENT>stop_on_error {return token::STOP_ON_ERROR;}
 
 <DYNARE_STATEMENT>[\$][^$]*[\$] {
   strtok(yytext+1, "$");
-- 
GitLab