From eb74d48393c32f765a4adac8f723ef959f5b4aa9 Mon Sep 17 00:00:00 2001
From: Houtan Bastani <houtan@dynare.org>
Date: Thu, 13 Sep 2018 12:21:23 +0200
Subject: [PATCH] trend_component_model: replace `trends` option with `targets`

---
 src/DynamicModel.cc  | 16 ++++-----
 src/DynareBison.yy   |  6 ++--
 src/DynareFlex.ll    |  2 +-
 src/ExprNode.cc      | 44 +++++++++++------------
 src/ExprNode.hh      | 22 ++++++------
 src/ParsingDriver.cc |  8 ++---
 src/SubModel.cc      | 86 ++++++++++++++++++++++----------------------
 src/SubModel.hh      | 28 +++++++--------
 8 files changed, 106 insertions(+), 106 deletions(-)

diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc
index b42db040..8d77e5ef 100644
--- a/src/DynamicModel.cc
+++ b/src/DynamicModel.cc
@@ -3466,7 +3466,7 @@ DynamicModel::updateVarAndTrendModel() const
       else if (i == 1)
         {
           eqnums = trend_component_model_table.getEqNums();
-          trend_eqnums = trend_component_model_table.getTrendEqNums();
+          trend_eqnums = trend_component_model_table.getTargetEqNums();
         }
 
       map<string, vector<int>> trend_varr;
@@ -3509,7 +3509,7 @@ DynamicModel::updateVarAndTrendModel() const
                     catch (...)
                       {
                       }
-                  int trend_var_symb_id = equations[eqn]->get_arg2()->findTrendVariable(lhs_symb_id);
+                  int trend_var_symb_id = equations[eqn]->get_arg2()->findTargetVariable(lhs_symb_id);
                   if (trend_var_symb_id >= 0)
                     {
                       if (symbol_table.isAuxiliaryVariable(trend_var_symb_id))
@@ -3541,7 +3541,7 @@ DynamicModel::updateVarAndTrendModel() const
       else if (i == 1)
         {
           trend_component_model_table.setRhs(rhsr);
-          trend_component_model_table.setTrendVar(trend_varr);
+          trend_component_model_table.setTargetVar(trend_varr);
         }
     }
 }
@@ -3717,7 +3717,7 @@ void
 DynamicModel::fillAutoregressiveMatrix(map<string, map<tuple<int, int, int>, expr_t>> &ARr, bool is_trend_component_model) const
 {
   auto eqnums = is_trend_component_model ?
-    trend_component_model_table.getNonTrendEqNums() : var_model_table.getEqNums();
+    trend_component_model_table.getNonTargetEqNums() : var_model_table.getEqNums();
   for (const auto & it : eqnums)
     {
       int i = 0;
@@ -3738,7 +3738,7 @@ DynamicModel::fillTrendComponentModelTable() const
   map<string, vector<bool>> nonstationaryr;
   map<string, vector<set<pair<int, int>>>> rhsr;
   map<string, vector<string>> eqtags = trend_component_model_table.getEqTags();
-  map<string, vector<string>> trend_eqtags = trend_component_model_table.getTrendEqTags();
+  map<string, vector<string>> trend_eqtags = trend_component_model_table.getTargetEqTags();
   for (const auto & it : trend_eqtags)
     {
       vector<int> trend_eqnumber;
@@ -3854,8 +3854,8 @@ DynamicModel::fillErrorComponentMatrix(map<string, map<tuple<int, int, int>, exp
     {
       int i = 0;
       map<tuple<int, int, int>, expr_t> EC;
-      vector<int> trend_lhs = trend_component_model_table.getTrendLhs(it.first);
-      vector<int> nontrend_eqnums = trend_component_model_table.getNonTrendEqNums(it.first);
+      vector<int> trend_lhs = trend_component_model_table.getTargetLhs(it.first);
+      vector<int> nontrend_eqnums = trend_component_model_table.getNonTargetEqNums(it.first);
       vector<int> undiff_nontrend_lhs = getUndiffLHSForPac(it.first, diff_subst_table);
       vector<int> parsed_undiff_nontrend_lhs;
 
@@ -4018,7 +4018,7 @@ DynamicModel::getUndiffLHSForPac(const string &aux_model_name,
   vector<bool> diff = trend_component_model_table.getDiff(aux_model_name);
   vector<int> orig_diff_var = trend_component_model_table.getOrigDiffVar(aux_model_name);
   vector<int> eqnumber = trend_component_model_table.getEqNums(aux_model_name);
-  vector<int> nontrend_eqnums = trend_component_model_table.getNonTrendEqNums(aux_model_name);
+  vector<int> nontrend_eqnums = trend_component_model_table.getNonTargetEqNums(aux_model_name);
 
   for (auto eqn : nontrend_eqnums)
     {
diff --git a/src/DynareBison.yy b/src/DynareBison.yy
index 90685fa9..c9c77610 100644
--- a/src/DynareBison.yy
+++ b/src/DynareBison.yy
@@ -111,7 +111,7 @@ class ParsingDriver;
 %token PRINT PRIOR_MC PRIOR_TRUNC PRIOR_MODE PRIOR_MEAN POSTERIOR_MODE POSTERIOR_MEAN POSTERIOR_MEDIAN MLE_MODE PRUNING
 %token <string> QUOTED_STRING
 %token QZ_CRITERIUM QZ_ZERO_THRESHOLD DSGE_VAR DSGE_VARLAG DSGE_PRIOR_WEIGHT TRUNCATE PIPE_E PIPE_X PIPE_P
-%token RELATIVE_IRF REPLIC SIMUL_REPLIC RPLOT SAVE_PARAMS_AND_STEADY_STATE PARAMETER_UNCERTAINTY TRENDS
+%token RELATIVE_IRF REPLIC SIMUL_REPLIC RPLOT SAVE_PARAMS_AND_STEADY_STATE PARAMETER_UNCERTAINTY TARGETS
 %token SHOCKS SHOCK_DECOMPOSITION SHOCK_GROUPS USE_SHOCK_GROUPS SIGMA_E SIMUL SIMUL_ALGO SIMUL_SEED ENDOGENOUS_TERMINAL_PERIOD
 %token SMOOTHER SMOOTHER2HISTVAL SQUARE_ROOT_SOLVER STACK_SOLVE_ALGO STEADY_STATE_MODEL SOLVE_ALGO SOLVER_PERIODS ROBUST_LIN_SOLVE
 %token STDERR STEADY STOCH_SIMUL SYLVESTER SYLVESTER_FIXED_POINT_TOL REGIMES REGIME REALTIME_SHOCK_DECOMPOSITION
@@ -385,7 +385,7 @@ trend_component_model_options_list : trend_component_model_options_list COMMA tr
                                    ;
 
 trend_component_model_options : o_trend_component_model_name
-                              | o_trend_component_model_trends
+                              | o_trend_component_model_targets
                               | o_trend_component_model_eq_tags
                               ;
 
@@ -3209,7 +3209,7 @@ o_nobs : NOBS EQUAL vec_int
          { driver.option_vec_int("nobs", $3); }
        ;
 o_trend_component_model_name : MODEL_NAME EQUAL symbol { driver.option_str("trend_component.name", $3); };
-o_trend_component_model_trends : TRENDS EQUAL vec_str { driver.option_vec_str("trend_component.trends", $3); }
+o_trend_component_model_targets : TARGETS EQUAL vec_str { driver.option_vec_str("trend_component.targets", $3); }
 o_trend_component_model_eq_tags : EQTAGS EQUAL vec_str { driver.option_vec_str("trend_component.eqtags", $3); }
 o_conditional_variance_decomposition : CONDITIONAL_VARIANCE_DECOMPOSITION EQUAL vec_int
                                        { driver.option_vec_int("conditional_variance_decomposition", $3); }
diff --git a/src/DynareFlex.ll b/src/DynareFlex.ll
index 9869e1bb..ae3b0631 100644
--- a/src/DynareFlex.ll
+++ b/src/DynareFlex.ll
@@ -490,7 +490,7 @@ DATE -?[0-9]+([YyAa]|[Mm]([1-9]|1[0-2])|[Qq][1-4]|[Ww]([1-9]{1}|[1-4][0-9]|5[0-2
 }
 <DYNARE_STATEMENT>write_equation_tags {return token::WRITE_EQUATION_TAGS;}
 <DYNARE_STATEMENT>eqtags {return token::EQTAGS;}
-<DYNARE_STATEMENT>trends {return token::TRENDS;}
+<DYNARE_STATEMENT>targets {return token::TARGETS;}
 <DYNARE_STATEMENT>indxap {return token::INDXAP;}
 <DYNARE_STATEMENT>apband {return token::APBAND;}
 <DYNARE_STATEMENT>indximf {return token::INDXIMF;}
diff --git a/src/ExprNode.cc b/src/ExprNode.cc
index 63ec686d..f9e8a10e 100644
--- a/src/ExprNode.cc
+++ b/src/ExprNode.cc
@@ -557,7 +557,7 @@ NumConstNode::findUnaryOpNodesForAuxVarCreation(DataTree &static_datatree, diff_
 }
 
 int
-NumConstNode::findTrendVariable(int lhs_symb_id) const
+NumConstNode::findTargetVariable(int lhs_symb_id) const
 {
   return -1;
 }
@@ -1506,7 +1506,7 @@ VariableNode::findUnaryOpNodesForAuxVarCreation(DataTree &static_datatree, diff_
 }
 
 int
-VariableNode::findTrendVariable(int lhs_symb_id) const
+VariableNode::findTargetVariable(int lhs_symb_id) const
 {
   return -1;
 }
@@ -3219,9 +3219,9 @@ UnaryOpNode::findDiffNodes(DataTree &static_datatree, diff_table_t &diff_table)
 }
 
 int
-UnaryOpNode::findTrendVariable(int lhs_symb_id) const
+UnaryOpNode::findTargetVariable(int lhs_symb_id) const
 {
-  return arg->findTrendVariable(lhs_symb_id);
+  return arg->findTargetVariable(lhs_symb_id);
 }
 
 expr_t
@@ -5146,7 +5146,7 @@ BinaryOpNode::isInStaticForm() const
 }
 
 bool
-BinaryOpNode::findTrendVariableHelper1(int lhs_symb_id, int rhs_symb_id) const
+BinaryOpNode::findTargetVariableHelper1(int lhs_symb_id, int rhs_symb_id) const
 {
   if (lhs_symb_id == rhs_symb_id)
     return true;
@@ -5164,8 +5164,8 @@ BinaryOpNode::findTrendVariableHelper1(int lhs_symb_id, int rhs_symb_id) const
 }
 
 int
-BinaryOpNode::findTrendVariableHelper(const expr_t arg1, const expr_t arg2,
-                                      int lhs_symb_id) const
+BinaryOpNode::findTargetVariableHelper(const expr_t arg1, const expr_t arg2,
+                                       int lhs_symb_id) const
 {
   set<int> params;
   arg1->collectVariables(SymbolType::parameter, params);
@@ -5182,9 +5182,9 @@ BinaryOpNode::findTrendVariableHelper(const expr_t arg1, const expr_t arg2,
           auto *test_arg1 = dynamic_cast<VariableNode *>(testarg2->get_arg1());
           auto *test_arg2 = dynamic_cast<VariableNode *>(testarg2->get_arg2());
           if (test_arg1 != nullptr && test_arg2 != nullptr )
-            if (findTrendVariableHelper1(lhs_symb_id, endogs.begin()->first))
+            if (findTargetVariableHelper1(lhs_symb_id, endogs.begin()->first))
               return endogs.rbegin()->first;
-            else if (findTrendVariableHelper1(lhs_symb_id, endogs.rbegin()->first))
+            else if (findTargetVariableHelper1(lhs_symb_id, endogs.rbegin()->first))
               return endogs.begin()->first;
         }
     }
@@ -5192,15 +5192,15 @@ BinaryOpNode::findTrendVariableHelper(const expr_t arg1, const expr_t arg2,
 }
 
 int
-BinaryOpNode::findTrendVariable(int lhs_symb_id) const
+BinaryOpNode::findTargetVariable(int lhs_symb_id) const
 {
-  int retval = findTrendVariableHelper(arg1, arg2, lhs_symb_id);
+  int retval = findTargetVariableHelper(arg1, arg2, lhs_symb_id);
   if (retval < 0)
-    retval = findTrendVariableHelper(arg2, arg1, lhs_symb_id);
+    retval = findTargetVariableHelper(arg2, arg1, lhs_symb_id);
   if (retval < 0)
-    retval = arg1->findTrendVariable(lhs_symb_id);
+    retval = arg1->findTargetVariable(lhs_symb_id);
   if (retval < 0)
-    retval = arg2->findTrendVariable(lhs_symb_id);
+    retval = arg2->findTargetVariable(lhs_symb_id);
   return retval;
 }
 
@@ -6341,13 +6341,13 @@ TrinaryOpNode::findUnaryOpNodesForAuxVarCreation(DataTree &static_datatree, diff
 }
 
 int
-TrinaryOpNode::findTrendVariable(int lhs_symb_id) const
+TrinaryOpNode::findTargetVariable(int lhs_symb_id) const
 {
-  int retval = arg1->findTrendVariable(lhs_symb_id);
+  int retval = arg1->findTargetVariable(lhs_symb_id);
   if (retval < 0)
-    retval = arg2->findTrendVariable(lhs_symb_id);
+    retval = arg2->findTargetVariable(lhs_symb_id);
   if (retval < 0)
-    retval = arg3->findTrendVariable(lhs_symb_id);
+    retval = arg3->findTargetVariable(lhs_symb_id);
   return retval;
 }
 
@@ -6831,11 +6831,11 @@ AbstractExternalFunctionNode::findUnaryOpNodesForAuxVarCreation(DataTree &static
 }
 
 int
-AbstractExternalFunctionNode::findTrendVariable(int lhs_symb_id) const
+AbstractExternalFunctionNode::findTargetVariable(int lhs_symb_id) const
 {
   for (auto argument : arguments)
     {
-      int retval = argument->findTrendVariable(lhs_symb_id);
+      int retval = argument->findTargetVariable(lhs_symb_id);
       if (retval >= 0)
         return retval;
     }
@@ -8488,7 +8488,7 @@ VarExpectationNode::findUnaryOpNodesForAuxVarCreation(DataTree &static_datatree,
 }
 
 int
-VarExpectationNode::findTrendVariable(int lhs_symb_id) const
+VarExpectationNode::findTargetVariable(int lhs_symb_id) const
 {
   return -1;
 }
@@ -9033,7 +9033,7 @@ PacExpectationNode::findUnaryOpNodesForAuxVarCreation(DataTree &static_datatree,
 }
 
 int
-PacExpectationNode::findTrendVariable(int lhs_symb_id) const
+PacExpectationNode::findTargetVariable(int lhs_symb_id) const
 {
   return -1;
 }
diff --git a/src/ExprNode.hh b/src/ExprNode.hh
index 679221d0..77106f23 100644
--- a/src/ExprNode.hh
+++ b/src/ExprNode.hh
@@ -523,7 +523,7 @@ class ExprNode
       //! Substitute diff operator
       virtual void findDiffNodes(DataTree &static_datatree, diff_table_t &diff_table) const = 0;
       virtual void findUnaryOpNodesForAuxVarCreation(DataTree &static_datatree, diff_table_t &nodes) const = 0;
-      virtual int findTrendVariable(int lhs_symb_id) const = 0;
+      virtual int findTargetVariable(int lhs_symb_id) const = 0;
       virtual expr_t substituteDiff(DataTree &static_datatree, diff_table_t &diff_table, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const = 0;
       virtual expr_t substituteUnaryOpNodes(DataTree &static_datatree, diff_table_t &nodes, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const = 0;
 
@@ -643,7 +643,7 @@ public:
   expr_t substituteVarExpectation(const map<string, expr_t> &subst_table) const override;
   void findDiffNodes(DataTree &static_datatree, diff_table_t &diff_table) const override;
   void findUnaryOpNodesForAuxVarCreation(DataTree &static_datatree, diff_table_t &nodes) const override;
-  int findTrendVariable(int lhs_symb_id) const override;
+  int findTargetVariable(int lhs_symb_id) const override;
   expr_t substituteDiff(DataTree &static_datatree, diff_table_t &diff_table, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const override;
   expr_t substituteUnaryOpNodes(DataTree &static_datatree, diff_table_t &nodes, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const override;
   expr_t substitutePacExpectation(map<const PacExpectationNode *, const BinaryOpNode *> &subst_table) override;
@@ -744,7 +744,7 @@ public:
   expr_t substituteVarExpectation(const map<string, expr_t> &subst_table) const override;
   void findDiffNodes(DataTree &static_datatree, diff_table_t &diff_table) const override;
   void findUnaryOpNodesForAuxVarCreation(DataTree &static_datatree, diff_table_t &nodes) const override;
-  int findTrendVariable(int lhs_symb_id) const override;
+  int findTargetVariable(int lhs_symb_id) const override;
   expr_t substituteDiff(DataTree &static_datatree, diff_table_t &diff_table, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const override;
   expr_t substituteUnaryOpNodes(DataTree &static_datatree, diff_table_t &nodes, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const override;
   expr_t substitutePacExpectation(map<const PacExpectationNode *, const BinaryOpNode *> &subst_table) override;
@@ -869,7 +869,7 @@ public:
   void findDiffNodes(DataTree &static_datatree, diff_table_t &diff_table) const override;
   bool createAuxVarForUnaryOpNode() const;
   void findUnaryOpNodesForAuxVarCreation(DataTree &static_datatree, diff_table_t &nodes) const override;
-  int findTrendVariable(int lhs_symb_id) const override;
+  int findTargetVariable(int lhs_symb_id) const override;
   expr_t substituteDiff(DataTree &static_datatree, diff_table_t &diff_table, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const override;
   expr_t substituteUnaryOpNodes(DataTree &static_datatree, diff_table_t &nodes, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const override;
   expr_t substitutePacExpectation(map<const PacExpectationNode *, const BinaryOpNode *> &subst_table) override;
@@ -1014,9 +1014,9 @@ public:
   expr_t substituteVarExpectation(const map<string, expr_t> &subst_table) const override;
   void findDiffNodes(DataTree &static_datatree, diff_table_t &diff_table) const override;
   void findUnaryOpNodesForAuxVarCreation(DataTree &static_datatree, diff_table_t &nodes) const override;
-  bool findTrendVariableHelper1(int lhs_symb_id, int rhs_symb_id) const;
-  int findTrendVariableHelper(const expr_t arg1, const expr_t arg2, int lhs_symb_id) const;
-  int findTrendVariable(int lhs_symb_id) const override;
+  bool findTargetVariableHelper1(int lhs_symb_id, int rhs_symb_id) const;
+  int findTargetVariableHelper(const expr_t arg1, const expr_t arg2, int lhs_symb_id) const;
+  int findTargetVariable(int lhs_symb_id) const override;
   expr_t substituteDiff(DataTree &static_datatree, diff_table_t &diff_table, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const override;
   expr_t substituteUnaryOpNodes(DataTree &static_datatree, diff_table_t &nodes, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const override;
   expr_t substitutePacExpectation(map<const PacExpectationNode *, const BinaryOpNode *> &subst_table) override;
@@ -1136,7 +1136,7 @@ public:
   expr_t substituteVarExpectation(const map<string, expr_t> &subst_table) const override;
   void findDiffNodes(DataTree &static_datatree, diff_table_t &diff_table) const override;
   void findUnaryOpNodesForAuxVarCreation(DataTree &static_datatree, diff_table_t &nodes) const override;
-  int findTrendVariable(int lhs_symb_id) const override;
+  int findTargetVariable(int lhs_symb_id) const override;
   expr_t substituteDiff(DataTree &static_datatree, diff_table_t &diff_table, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const override;
   expr_t substituteUnaryOpNodes(DataTree &static_datatree, diff_table_t &nodes, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const override;
   expr_t substitutePacExpectation(map<const PacExpectationNode *, const BinaryOpNode *> &subst_table) override;
@@ -1257,7 +1257,7 @@ public:
   expr_t substituteVarExpectation(const map<string, expr_t> &subst_table) const override;
   void findDiffNodes(DataTree &static_datatree, diff_table_t &diff_table) const override;
   void findUnaryOpNodesForAuxVarCreation(DataTree &static_datatree, diff_table_t &nodes) const override;
-  int findTrendVariable(int lhs_symb_id) const override;
+  int findTargetVariable(int lhs_symb_id) const override;
   expr_t substituteDiff(DataTree &static_datatree, diff_table_t &diff_table, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const override;
   expr_t substituteUnaryOpNodes(DataTree &static_datatree, diff_table_t &nodes, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const override;
   expr_t substitutePacExpectation(map<const PacExpectationNode *, const BinaryOpNode *> &subst_table) override;
@@ -1462,7 +1462,7 @@ public:
   expr_t substituteVarExpectation(const map<string, expr_t> &subst_table) const override;
   void findDiffNodes(DataTree &static_datatree, diff_table_t &diff_table) const override;
   void findUnaryOpNodesForAuxVarCreation(DataTree &static_datatree, diff_table_t &nodes) const override;
-  int findTrendVariable(int lhs_symb_id) const override;
+  int findTargetVariable(int lhs_symb_id) const override;
   expr_t substituteDiff(DataTree &static_datatree, diff_table_t &diff_table, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const override;
   expr_t substituteUnaryOpNodes(DataTree &static_datatree, diff_table_t &nodes, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const override;
   expr_t substitutePacExpectation(map<const PacExpectationNode *, const BinaryOpNode *> &subst_table) override;
@@ -1560,7 +1560,7 @@ public:
   expr_t substituteVarExpectation(const map<string, expr_t> &subst_table) const override;
   void findDiffNodes(DataTree &static_datatree, diff_table_t &diff_table) const override;
   void findUnaryOpNodesForAuxVarCreation(DataTree &static_datatree, diff_table_t &nodes) const override;
-  int findTrendVariable(int lhs_symb_id) const override;
+  int findTargetVariable(int lhs_symb_id) const override;
   expr_t substituteDiff(DataTree &static_datatree, diff_table_t &diff_table, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const override;
   expr_t substituteUnaryOpNodes(DataTree &static_datatree, diff_table_t &nodes, subst_table_t &subst_table, vector<BinaryOpNode *> &neweqs) const override;
   expr_t substitutePacExpectation(map<const PacExpectationNode *, const BinaryOpNode *> &subst_table) override;
diff --git a/src/ParsingDriver.cc b/src/ParsingDriver.cc
index 121edb16..dcad3c39 100644
--- a/src/ParsingDriver.cc
+++ b/src/ParsingDriver.cc
@@ -1489,12 +1489,12 @@ ParsingDriver::trend_component_model()
     error("You must pass the eqtags option to the trend_component_model statement.");
   auto eqtags = itvs->second;
 
-  const auto itvs1 = options_list.vector_str_options.find("trend_component.trends");
+  const auto itvs1 = options_list.vector_str_options.find("trend_component.targets");
   if (itvs1 == options_list.vector_str_options.end())
-    error("You must pass the trends option to the trend_component_model statement.");
-  auto trends = itvs1->second;
+    error("You must pass the targets option to the trend_component_model statement.");
+  auto targets = itvs1->second;
 
-  mod_file->trend_component_model_table.addTrendComponentModel(name, eqtags, trends);
+  mod_file->trend_component_model_table.addTrendComponentModel(name, eqtags, targets);
   options_list.clear();
 }
 
diff --git a/src/SubModel.cc b/src/SubModel.cc
index ae0792fa..03cd3dee 100644
--- a/src/SubModel.cc
+++ b/src/SubModel.cc
@@ -29,7 +29,7 @@ TrendComponentModelTable::TrendComponentModelTable(SymbolTable &symbol_table_arg
 void
 TrendComponentModelTable::addTrendComponentModel(string name_arg,
                                                  vector<string> eqtags_arg,
-                                                 vector<string> trend_eqtags_arg)
+                                                 vector<string> target_eqtags_arg)
 {
   if (isExistingTrendComponentModelName(name_arg))
     {
@@ -37,17 +37,17 @@ TrendComponentModelTable::addTrendComponentModel(string name_arg,
       exit(EXIT_FAILURE);
     }
   eqtags[name_arg] = move(eqtags_arg);
-  trend_eqtags[name_arg] = move(trend_eqtags_arg);
+  target_eqtags[name_arg] = move(target_eqtags_arg);
   names.insert(move(name_arg));
 }
 
 void
-TrendComponentModelTable::setVals(map<string, vector<int>> eqnums_arg, map<string, vector<int>> trend_eqnums_arg,
+TrendComponentModelTable::setVals(map<string, vector<int>> eqnums_arg, map<string, vector<int>> target_eqnums_arg,
                                   map<string, vector<int>> lhs_arg,
                                   map<string, vector<expr_t>> lhs_expr_t_arg, map<string, vector<bool>> nonstationary_arg)
 {
   eqnums = move(eqnums_arg);
-  trend_eqnums = move(trend_eqnums_arg);
+  target_eqnums = move(target_eqnums_arg);
   lhs = move(lhs_arg);
   lhs_expr_t = move(lhs_expr_t_arg);
   nonstationary = move(nonstationary_arg);
@@ -56,23 +56,23 @@ TrendComponentModelTable::setVals(map<string, vector<int>> eqnums_arg, map<strin
     {
       vector<int> nontrend_vec;
       for (auto eq : it.second)
-        if (find(trend_eqnums[it.first].begin(), trend_eqnums[it.first].end(), eq) == trend_eqnums[it.first].end())
+        if (find(target_eqnums[it.first].begin(), target_eqnums[it.first].end(), eq) == target_eqnums[it.first].end())
           nontrend_vec.push_back(eq);
-      nontrend_eqnums[it.first] = nontrend_vec;
+      nontarget_eqnums[it.first] = nontrend_vec;
     }
 
   for (const auto &name : names)
     {
-      vector<int> nontrend_lhs_vec, trend_lhs_vec;
+      vector<int> nontarget_lhs_vec, target_lhs_vec;
       vector<int> lhsv = getLhs(name);
       vector<int> eqnumsv = getEqNums(name);
-      for (int nontrend_it : getNonTrendEqNums(name))
-        nontrend_lhs_vec.push_back(lhsv.at(distance(eqnumsv.begin(), find(eqnumsv.begin(), eqnumsv.end(), nontrend_it))));
-      nontrend_lhs[name] = nontrend_lhs_vec;
+      for (int nontrend_it : getNonTargetEqNums(name))
+        nontarget_lhs_vec.push_back(lhsv.at(distance(eqnumsv.begin(), find(eqnumsv.begin(), eqnumsv.end(), nontrend_it))));
+      nontarget_lhs[name] = nontarget_lhs_vec;
 
-      for (int trend_it : getTrendEqNums(name))
-        trend_lhs_vec.push_back(lhsv.at(distance(eqnumsv.begin(), find(eqnumsv.begin(), eqnumsv.end(), trend_it))));
-      trend_lhs[name] = trend_lhs_vec;
+      for (int trend_it : getTargetEqNums(name))
+        target_lhs_vec.push_back(lhsv.at(distance(eqnumsv.begin(), find(eqnumsv.begin(), eqnumsv.end(), trend_it))));
+      target_lhs[name] = target_lhs_vec;
     }
 }
 
@@ -83,9 +83,9 @@ TrendComponentModelTable::setRhs(map<string, vector<set<pair<int, int>>>> rhs_ar
 }
 
 void
-TrendComponentModelTable::setTrendVar(map<string, vector<int>> trend_vars_arg)
+TrendComponentModelTable::setTargetVar(map<string, vector<int>> target_vars_arg)
 {
-  trend_vars = move(trend_vars_arg);
+  target_vars = move(target_vars_arg);
 }
 
 void
@@ -160,14 +160,14 @@ vector<int>
 TrendComponentModelTable::getNontrendLhs(const string &name_arg) const
 {
   checkModelName(name_arg);
-  return nontrend_lhs.find(name_arg)->second;
+  return nontarget_lhs.find(name_arg)->second;
 }
 
 vector<int>
-TrendComponentModelTable::getTrendLhs(const string &name_arg) const
+TrendComponentModelTable::getTargetLhs(const string &name_arg) const
 {
   checkModelName(name_arg);
-  return trend_lhs.find(name_arg)->second;
+  return target_lhs.find(name_arg)->second;
 }
 
 vector<int>
@@ -185,9 +185,9 @@ TrendComponentModelTable::getLhsExprT(const string &name_arg) const
 }
 
 map<string, vector<string>>
-TrendComponentModelTable::getTrendEqTags() const
+TrendComponentModelTable::getTargetEqTags() const
 {
-  return trend_eqtags;
+  return target_eqtags;
 }
 
 map<string, vector<int>>
@@ -197,29 +197,29 @@ TrendComponentModelTable::getEqNums() const
 }
 
 map<string, vector<int>>
-TrendComponentModelTable::getTrendEqNums() const
+TrendComponentModelTable::getTargetEqNums() const
 {
-  return trend_eqnums;
+  return target_eqnums;
 }
 
 vector<int>
-TrendComponentModelTable::getTrendEqNums(const string &name_arg) const
+TrendComponentModelTable::getTargetEqNums(const string &name_arg) const
 {
   checkModelName(name_arg);
-  return trend_eqnums.find(name_arg)->second;
+  return target_eqnums.find(name_arg)->second;
 }
 
 map<string, vector<int>>
-TrendComponentModelTable::getNonTrendEqNums() const
+TrendComponentModelTable::getNonTargetEqNums() const
 {
-  return nontrend_eqnums;
+  return nontarget_eqnums;
 }
 
 vector<int>
-TrendComponentModelTable::getNonTrendEqNums(const string &name_arg) const
+TrendComponentModelTable::getNonTargetEqNums(const string &name_arg) const
 {
   checkModelName(name_arg);
-  return nontrend_eqnums.find(name_arg)->second;
+  return nontarget_eqnums.find(name_arg)->second;
 }
 
 vector<int>
@@ -285,14 +285,14 @@ TrendComponentModelTable::writeOutput(const string &basename, ostream &output) c
       for (auto it : eqnums.at(name))
         output << it + 1 << " ";
       output << "];" << endl
-             << "M_.trend_component." << name << ".trend_eqn = [";
-      for (auto it : trend_eqnums.at(name))
+             << "M_.trend_component." << name << ".target_eqn = [";
+      for (auto it : target_eqnums.at(name))
         output << it + 1 << " ";
       output << "];" << endl
-             << "M_.trend_component." << name << ".trends = [";
+             << "M_.trend_component." << name << ".targets = [";
       for (auto it : eqnums.at(name))
-        if (find(trend_eqnums.at(name).begin(), trend_eqnums.at(name).end(), it)
-            == trend_eqnums.at(name).end())
+        if (find(target_eqnums.at(name).begin(), target_eqnums.at(name).end(), it)
+            == target_eqnums.at(name).end())
           output << "false ";
         else
           output << "true ";
@@ -331,29 +331,29 @@ TrendComponentModelTable::writeOutput(const string &basename, ostream &output) c
 
           i++;
         }
-      output << "M_.trend_component." << name << ".trend_vars = [";
-      for (auto it : trend_vars.at(name))
+      output << "M_.trend_component." << name << ".target_vars = [";
+      for (auto it : target_vars.at(name))
         output << (it >= 0 ? symbol_table.getTypeSpecificID(it) + 1 : -1) << " ";
       output << "];" << endl;
 
-      vector<int> trend_lhs_vec = getTrendLhs(name);
-      vector<int> nontrend_lhs_vec = getNontrendLhs(name);
+      vector<int> target_lhs_vec = getTargetLhs(name);
+      vector<int> nontarget_lhs_vec = getNontrendLhs(name);
 
       ar_ec_output << "if strcmp(model_name, '" << name << "')" << endl
                 << "    % AR" << endl
-                << "    ar = zeros(" << nontrend_lhs_vec.size() << ", " << nontrend_lhs_vec.size() << ", " << getMaxLag(name) << ");" << endl;
+                << "    ar = zeros(" << nontarget_lhs_vec.size() << ", " << nontarget_lhs_vec.size() << ", " << getMaxLag(name) << ");" << endl;
       for (const auto & it : AR.at(name))
         {
           int eqn, lag, lhs_symb_id;
           tie (eqn, lag, lhs_symb_id) = it.first;
-          int colidx = (int) distance(nontrend_lhs_vec.begin(), find(nontrend_lhs_vec.begin(), nontrend_lhs_vec.end(), lhs_symb_id));
+          int colidx = (int) distance(nontarget_lhs_vec.begin(), find(nontarget_lhs_vec.begin(), nontarget_lhs_vec.end(), lhs_symb_id));
           ar_ec_output << "    ar(" << eqn + 1 << ", " << colidx + 1 << ", " << lag << ") = ";
           it.second->writeOutput(ar_ec_output, ExprNodeOutputType::matlabDynamicModel);
           ar_ec_output << ";" << endl;
         }
       ar_ec_output << endl
                    << "    % EC" << endl
-                   << "    ec = zeros(" << nontrend_lhs_vec.size() << ", " << nontrend_lhs_vec.size() << ", 1);" << endl;
+                   << "    ec = zeros(" << nontarget_lhs_vec.size() << ", " << nontarget_lhs_vec.size() << ", 1);" << endl;
       for (const auto & it : EC.at(name))
         {
           int eqn, lag, colidx;
@@ -386,11 +386,11 @@ TrendComponentModelTable::writeJsonOutput(ostream &output) const
           if (&it != &eqtags.at(name).back())
             output << ", ";
         }
-      output << "], \"trend_eqtags\": [";
-      for (const auto &it : trend_eqtags.at(name))
+      output << "], \"target_eqtags\": [";
+      for (const auto &it : target_eqtags.at(name))
         {
           output << "\"" << it << "\"";
-          if (&it != &trend_eqtags.at(name).back())
+          if (&it != &target_eqtags.at(name).back())
             output << ", ";
         }
       output << "]}";
diff --git a/src/SubModel.hh b/src/SubModel.hh
index 65016a7f..92ed9982 100644
--- a/src/SubModel.hh
+++ b/src/SubModel.hh
@@ -11,7 +11,7 @@
  * Dynare is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * GNU General Public License for more details.SS
  *
  * You should have received a copy of the GNU General Public License
  * along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
@@ -39,12 +39,12 @@ class TrendComponentModelTable
 private:
   SymbolTable &symbol_table;
   set<string> names;
-  map<string, vector<string>> eqtags, trend_eqtags;
-  map<string, vector<int>> eqnums, trend_eqnums, nontrend_eqnums, max_lags, lhs, trend_lhs, nontrend_lhs, orig_diff_var;
+  map<string, vector<string>> eqtags, target_eqtags;
+  map<string, vector<int>> eqnums, target_eqnums, nontarget_eqnums, max_lags, lhs, target_lhs, nontarget_lhs, orig_diff_var;
   map<string, vector<set<pair<int, int>>>> rhs;
   map<string, vector<bool>> diff, nonstationary;
   map<string, vector<expr_t>> lhs_expr_t;
-  map<string, vector<int>> trend_vars;
+  map<string, vector<int>> target_vars;
   map<string, map<tuple<int, int, int>, expr_t>> AR; // AR: name -> (eqn, lag, lhs_symb_id) -> expr_t
   map<string, map<tuple<int, int, int>, expr_t>> EC; // EC: name -> (eqn, lag, col) -> expr_t
 public:
@@ -52,17 +52,17 @@ public:
 
   //! Add a trend component model
   void addTrendComponentModel(string name_arg, vector<string> eqtags_arg,
-                              vector<string> trend_eqtags_arg);
+                              vector<string> target_eqtags_arg);
 
   inline bool isExistingTrendComponentModelName(const string &name_arg) const;
   inline bool empty() const;
 
   map<string, vector<string>> getEqTags() const;
   vector<string> getEqTags(const string &name_arg) const;
-  map<string, vector<string>> getTrendEqTags() const;
+  map<string, vector<string>> getTargetEqTags() const;
   map<string, vector<int>> getEqNums() const;
-  map<string, vector<int>> getTrendEqNums() const;
-  vector<int> getTrendEqNums(const string &name_arg) const;
+  map<string, vector<int>> getTargetEqNums() const;
+  vector<int> getTargetEqNums(const string &name_arg) const;
   vector<int> getEqNums(const string &name_arg) const;
   vector<int> getMaxLags(const string &name_arg) const;
   int getMaxLag(const string &name_arg) const;
@@ -70,20 +70,20 @@ public:
   vector<expr_t> getLhsExprT(const string &name_arg) const;
   vector<bool> getDiff(const string &name_arg) const;
   vector<int> getOrigDiffVar(const string &name_arg) const;
-  map<string, vector<int>> getNonTrendEqNums() const;
-  vector<int> getNonTrendEqNums(const string &name_arg) const;
+  map<string, vector<int>> getNonTargetEqNums() const;
+  vector<int> getNonTargetEqNums(const string &name_arg) const;
   vector<bool> getNonstationary(const string &name_arg) const;
   vector<int> getNontrendLhs(const string &name_arg) const;
-  vector<int> getTrendLhs(const string &name_arg) const;
+  vector<int> getTargetLhs(const string &name_arg) const;
 
-  void setVals(map<string, vector<int>> eqnums_arg, map<string, vector<int>> trend_eqnums_arg,
+  void setVals(map<string, vector<int>> eqnums_arg, map<string, vector<int>> target_eqnums_arg,
                map<string, vector<int>> lhs_arg,
                map<string, vector<expr_t>> lhs_expr_t_arg, map<string, vector<bool>> nonstationary_arg);
   void setRhs(map<string, vector<set<pair<int, int>>>> rhs_arg);
   void setMaxLags(map<string, vector<int>> max_lags_arg);
   void setDiff(map<string, vector<bool>> diff_arg);
   void setOrigDiffVar(map<string, vector<int>> orig_diff_var_arg);
-  void setTrendVar(map<string, vector<int>> trend_vars_arg);
+  void setTargetVar(map<string, vector<int>> target_vars_arg);
   void setAR(map<string, map<tuple<int, int, int>, expr_t>> AR_arg);
   void setEC(map<string, map<tuple<int, int, int>, expr_t>> EC_arg);
 
@@ -95,7 +95,7 @@ public:
 
 private:
   void checkModelName(const string &name_arg) const;
-  void setNonTrendEqnums();
+  void setNonTargetEqnums();
 };
 
 inline bool
-- 
GitLab