From 34a41b557d8aa19ea19cc2950b7f1acddd506df2 Mon Sep 17 00:00:00 2001
From: Houtan Bastani <houtan@dynare.org>
Date: Wed, 11 Dec 2019 15:02:22 +0100
Subject: [PATCH] epilogue: output endogs used in epilogue equations

#36
---
 src/ModelEquationBlock.cc | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/ModelEquationBlock.cc b/src/ModelEquationBlock.cc
index 66a87387..690b88e7 100644
--- a/src/ModelEquationBlock.cc
+++ b/src/ModelEquationBlock.cc
@@ -427,4 +427,13 @@ Epilogue::writeOutput(ostream &output) const
   for (const auto & [symb_id, expr] : def_table)
     output << "M_.epilogue_names{" << idx++ << "} = '"
            << symbol_table.getName(symb_id) << "';" << endl;
+
+  set<int> endogs;
+  for (const auto & [symb_id, expr] : def_table)
+    expr->collectVariables(SymbolType::endogenous, endogs);
+
+  SymbolList symbol_list;
+  for (auto symb_id : endogs)
+    symbol_list.addSymbol(symbol_table.getName(symb_id));
+  symbol_list.writeOutput("M_.epilogue_var_list_", output);
 }
-- 
GitLab