From 1be77c8fc405ef1a388b6e8473efaee2a2644fbd Mon Sep 17 00:00:00 2001
From: Houtan Bastani <houtan@dynare.org>
Date: Mon, 15 Jan 2018 12:38:35 +0100
Subject: [PATCH] preprocessor: remove requirement to have symbol list after
 var_model statement

---
 ComputingTasks.cc | 3 ++-
 DynareBison.yy    | 4 +++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/ComputingTasks.cc b/ComputingTasks.cc
index 740b061b..a1d1ff42 100644
--- a/ComputingTasks.cc
+++ b/ComputingTasks.cc
@@ -294,7 +294,8 @@ void
 VarModelStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
 {
   options_list.writeOutput(output);
-  symbol_list.writeOutput("options_.var.var_list_", output);
+  if (!symbol_list.empty())
+    symbol_list.writeOutput("options_.var.var_list_", output);
   output << "M_.var." << name << " = options_.var;" << endl
          << "clear options_.var;" << endl;
 }
diff --git a/DynareBison.yy b/DynareBison.yy
index b8eceeaf..8ec4ceeb 100644
--- a/DynareBison.yy
+++ b/DynareBison.yy
@@ -362,7 +362,9 @@ var : VAR var_list ';'
       { driver.end_nonstationary_var(true, $6); }
     ;
 
-var_model : VAR_MODEL '(' var_model_options_list ')' var_symbol_list ';' { driver.var_model(); } ;
+var_model : VAR_MODEL '(' var_model_options_list ')' ';' { driver.var_model(); }
+          | VAR_MODEL '(' var_model_options_list ')' var_symbol_list ';' { driver.var_model(); } ;
+          ;
 
 var_symbol_list : var_symbol_list symbol
                   { driver.declare_var_endogenous($2); }
-- 
GitLab