trunk preprocessor: renamed "Type" to "SymbolType" for the sake of clarity

git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2166 ac1d8469-bf42-47a9-8791-bf33cf982152
time-shift
sebastien 2008-10-17 10:20:19 +00:00
parent 21914feb4f
commit cc64a40ac7
13 changed files with 41 additions and 41 deletions

View File

@ -559,7 +559,7 @@ ObservationTrendsStatement::writeOutput(ostream &output, const string &basename)
for(it = trend_elements.begin(); it != trend_elements.end(); it++) for(it = trend_elements.begin(); it != trend_elements.end(); it++)
{ {
Type type = symbol_table.getType(it->first); SymbolType type = symbol_table.getType(it->first);
if (type == eEndogenous) if (type == eEndogenous)
{ {
output << "tmp1 = strmatch('" << it->first << "',options_.varobs,'exact');\n"; output << "tmp1 = strmatch('" << it->first << "',options_.varobs,'exact');\n";

View File

@ -56,7 +56,7 @@ NodeID
DataTree::AddVariable(const string &name, int lag) DataTree::AddVariable(const string &name, int lag)
{ {
int symb_id = symbol_table.getID(name); int symb_id = symbol_table.getID(name);
Type type = symbol_table.getType(name); SymbolType type = symbol_table.getType(name);
variable_node_map_type::iterator it = variable_node_map.find(make_pair(make_pair(symb_id, type), lag)); variable_node_map_type::iterator it = variable_node_map.find(make_pair(make_pair(symb_id, type), lag));
if (it != variable_node_map.end()) if (it != variable_node_map.end())

View File

@ -164,7 +164,7 @@ NumConstNode::collectEndogenous(set<pair<int, int> > &result) const
{ {
} }
VariableNode::VariableNode(DataTree &datatree_arg, int symb_id_arg, Type type_arg, int lag_arg) : VariableNode::VariableNode(DataTree &datatree_arg, int symb_id_arg, SymbolType type_arg, int lag_arg) :
ExprNode(datatree_arg), ExprNode(datatree_arg),
symb_id(symb_id_arg), symb_id(symb_id_arg),
type(type_arg), type(type_arg),

View File

@ -54,7 +54,7 @@ InitOrEndValStatement::writeInitValues(ostream &output) const
const string &name = it->first; const string &name = it->first;
const NodeID expression = it->second; const NodeID expression = it->second;
Type type = symbol_table.getType(name); SymbolType type = symbol_table.getType(name);
int id = symbol_table.getID(name) + 1; int id = symbol_table.getID(name) + 1;
if (type == eEndogenous) if (type == eEndogenous)
@ -144,7 +144,7 @@ HistValStatement::writeOutput(ostream &output, const string &basename) const
const int &lag = it->first.second; const int &lag = it->first.second;
const NodeID expression = it->second; const NodeID expression = it->second;
Type type = symbol_table.getType(name); SymbolType type = symbol_table.getType(name);
int id = symbol_table.getID(name) + 1; int id = symbol_table.getID(name) + 1;
if (type == eEndogenous) if (type == eEndogenous)
@ -196,7 +196,7 @@ HomotopyStatement::writeOutput(ostream &output, const string &basename) const
const NodeID expression1 = it->second.first; const NodeID expression1 = it->second.first;
const NodeID expression2 = it->second.second; const NodeID expression2 = it->second.second;
const Type type = symbol_table.getType(name); const SymbolType type = symbol_table.getType(name);
const int id = symbol_table.getID(name) + 1; const int id = symbol_table.getID(name) + 1;
output << "options_.homotopy_values = vertcat(options_.homotopy_values, [ " << type << ", " << id << ", "; output << "options_.homotopy_values = vertcat(options_.homotopy_values, [ " << type << ", " << id << ", ";

View File

@ -102,7 +102,7 @@ ParsingDriver::warning(const string &m)
} }
void void
ParsingDriver::declare_symbol(string *name, Type type, string *tex_name) ParsingDriver::declare_symbol(string *name, SymbolType type, string *tex_name)
{ {
try try
{ {
@ -162,7 +162,7 @@ NodeID
ParsingDriver::add_model_variable(string *name, string *olag) ParsingDriver::add_model_variable(string *name, string *olag)
{ {
check_symbol_existence(*name); check_symbol_existence(*name);
Type type = mod_file->symbol_table.getType(*name); SymbolType type = mod_file->symbol_table.getType(*name);
int lag = atoi(olag->c_str()); int lag = atoi(olag->c_str());
if (type == eModFileLocalVariable) if (type == eModFileLocalVariable)
@ -271,7 +271,7 @@ void
ParsingDriver::init_val(string *name, NodeID rhs) ParsingDriver::init_val(string *name, NodeID rhs)
{ {
check_symbol_existence(*name); check_symbol_existence(*name);
Type type = mod_file->symbol_table.getType(*name); SymbolType type = mod_file->symbol_table.getType(*name);
if (type != eEndogenous if (type != eEndogenous
&& type != eExogenous && type != eExogenous
@ -305,7 +305,7 @@ void
ParsingDriver::hist_val(string *name, string *lag, NodeID rhs) ParsingDriver::hist_val(string *name, string *lag, NodeID rhs)
{ {
check_symbol_existence(*name); check_symbol_existence(*name);
Type type = mod_file->symbol_table.getType(*name); SymbolType type = mod_file->symbol_table.getType(*name);
if (type != eEndogenous if (type != eEndogenous
&& type != eExogenous && type != eExogenous
@ -328,7 +328,7 @@ void
ParsingDriver::homotopy_val(string *name, NodeID val1, NodeID val2) ParsingDriver::homotopy_val(string *name, NodeID val1, NodeID val2)
{ {
check_symbol_existence(*name); check_symbol_existence(*name);
Type type = mod_file->symbol_table.getType(*name); SymbolType type = mod_file->symbol_table.getType(*name);
if (type != eParameter if (type != eParameter
&& type != eExogenous && type != eExogenous
@ -430,7 +430,7 @@ void
ParsingDriver::add_det_shock(string *var) ParsingDriver::add_det_shock(string *var)
{ {
check_symbol_existence(*var); check_symbol_existence(*var);
Type type = mod_file->symbol_table.getType(*var); SymbolType type = mod_file->symbol_table.getType(*var);
if (type != eExogenous && type != eExogenousDet) if (type != eExogenous && type != eExogenousDet)
error("shocks: shocks can only be applied to exogenous variables"); error("shocks: shocks can only be applied to exogenous variables");

View File

@ -29,7 +29,7 @@ SymbolTable::SymbolTable() : endo_nbr(0), exo_nbr(0), exo_det_nbr(0), recur_nbr(
} }
void void
SymbolTable::addSymbol(const string &name, Type type, const string &tex_name) throw (AlreadyDeclaredException) SymbolTable::addSymbol(const string &name, SymbolType type, const string &tex_name) throw (AlreadyDeclaredException)
{ {
if (exists(name)) if (exists(name))
{ {
@ -69,7 +69,7 @@ SymbolTable::addSymbol(const string &name, Type type, const string &tex_name) th
break; break;
} }
symbol_type symbol(type, id); named_symbol_type symbol(type, id);
symbol_table[name] = symbol; symbol_table[name] = symbol;
name_table[symbol] = name; name_table[symbol] = name;
tex_name_table[symbol] = tex_name; tex_name_table[symbol] = tex_name;

View File

@ -33,7 +33,7 @@ VariableTable::VariableTable(const SymbolTable &symbol_table_arg) :
} }
int int
VariableTable::addVariable(Type type, int symb_id, int lag) throw (DynJacobianColsAlreadyComputedException) VariableTable::addVariable(SymbolType type, int symb_id, int lag) throw (DynJacobianColsAlreadyComputedException)
{ {
if (dyn_jacobian_cols_table.size() != 0) if (dyn_jacobian_cols_table.size() != 0)
throw DynJacobianColsAlreadyComputedException(); throw DynJacobianColsAlreadyComputedException();

View File

@ -66,7 +66,7 @@ enum BlockSimulationType
//! Enumeration of possible symbol types //! Enumeration of possible symbol types
/*! Warning: do not to change existing values: the order matters for VariableTable (at least for endogenous and exogenous types), and the values matter for homotopy_setup command */ /*! Warning: do not to change existing values: the order matters for VariableTable (at least for endogenous and exogenous types), and the values matter for homotopy_setup command */
enum Type enum SymbolType
{ {
eEndogenous = 0, //!< Endogenous eEndogenous = 0, //!< Endogenous
eExogenous = 1, //!< Exogenous eExogenous = 1, //!< Exogenous

View File

@ -62,7 +62,7 @@ protected:
typedef map<int, NodeID> num_const_node_map_type; typedef map<int, NodeID> num_const_node_map_type;
num_const_node_map_type num_const_node_map; num_const_node_map_type num_const_node_map;
//! Type (symbol_id, type, lag) used as key //! Type (symbol_id, type, lag) used as key
typedef map<pair<pair<int, Type>, int>, NodeID> variable_node_map_type; typedef map<pair<pair<int, SymbolType>, int>, NodeID> variable_node_map_type;
variable_node_map_type variable_node_map; variable_node_map_type variable_node_map;
typedef map<pair<NodeID, int>, NodeID> unary_op_node_map_type; typedef map<pair<NodeID, int>, NodeID> unary_op_node_map_type;
unary_op_node_map_type unary_op_node_map; unary_op_node_map_type unary_op_node_map;

View File

@ -61,7 +61,7 @@ enum ExprNodeOutputType
//! Type for evaluation contexts //! Type for evaluation contexts
/*! The key is a pair (symbol id, symbol type) /*! The key is a pair (symbol id, symbol type)
Lags are assumed to be null */ Lags are assumed to be null */
typedef map<pair<int, Type>, double> eval_context_type; typedef map<pair<int, SymbolType>, double> eval_context_type;
/* Equal to 1 for Matlab langage, or to 0 for C language /* Equal to 1 for Matlab langage, or to 0 for C language
In Matlab, array indexes begin at 1, while they begin at 0 in C */ In Matlab, array indexes begin at 1, while they begin at 0 in C */
@ -189,13 +189,13 @@ class VariableNode : public ExprNode
private: private:
//! Id from the symbol table //! Id from the symbol table
const int symb_id; const int symb_id;
const Type type; const SymbolType type;
const int lag; const int lag;
//! Id from the variable table (-1 if not a endogenous/exogenous/recursive) //! Id from the variable table (-1 if not a endogenous/exogenous/recursive)
int var_id; int var_id;
virtual NodeID computeDerivative(int varID); virtual NodeID computeDerivative(int varID);
public: public:
VariableNode(DataTree &datatree_arg, int symb_id_arg, Type type_arg, int lag_arg); VariableNode(DataTree &datatree_arg, int symb_id_arg, SymbolType type_arg, int lag_arg);
virtual void writeOutput(ostream &output, ExprNodeOutputType output_type, const temporary_terms_type &temporary_terms = temporary_terms_type()) const; virtual void writeOutput(ostream &output, ExprNodeOutputType output_type, const temporary_terms_type &temporary_terms = temporary_terms_type()) const;
virtual void collectEndogenous(set<pair<int, int> > &result) const; virtual void collectEndogenous(set<pair<int, int> > &result) const;
virtual double eval(const eval_context_type &eval_context) const throw (EvalException); virtual double eval(const eval_context_type &eval_context) const throw (EvalException);

View File

@ -71,7 +71,7 @@ private:
void check_symbol_existence(const string &name); void check_symbol_existence(const string &name);
//! Helper to add a symbol declaration //! Helper to add a symbol declaration
void declare_symbol(string *name, Type type, string *tex_name); void declare_symbol(string *name, SymbolType type, string *tex_name);
//! Creates option "optim_opt" in OptionsList if it doesn't exist, else add a comma, and adds the option name //! Creates option "optim_opt" in OptionsList if it doesn't exist, else add a comma, and adds the option name
void optim_options_helper(const string &name); void optim_options_helper(const string &name);

View File

@ -41,13 +41,13 @@ class SymbolTable
{ {
private: private:
//! A symbol is represented by a pair (type, id) //! A symbol is represented by a pair (type, id)
typedef pair<Type, int> symbol_type; typedef pair<SymbolType, int> named_symbol_type;
typedef map<string, symbol_type> symbol_table_type; typedef map<string, named_symbol_type> symbol_table_type;
//! Maps strings to pairs (type,id) //! Maps strings to pairs (type,id)
symbol_table_type symbol_table; symbol_table_type symbol_table;
typedef map<symbol_type, string> inv_symbol_table_type; typedef map<named_symbol_type, string> inv_symbol_table_type;
//! Maps pairs (type, id) to names //! Maps pairs (type, id) to names
inv_symbol_table_type name_table; inv_symbol_table_type name_table;
//! Maps pairs (type, id) to TeX names //! Maps pairs (type, id) to TeX names
@ -67,10 +67,10 @@ public:
{ {
public: public:
//! Symbol type //! Symbol type
Type type; SymbolType type;
//! Symbol ID //! Symbol ID
int id; int id;
UnknownSymbolIDException(Type type_arg, int id_arg) : type(type_arg), id(id_arg) {} UnknownSymbolIDException(SymbolType type_arg, int id_arg) : type(type_arg), id(id_arg) {}
}; };
//! Thrown when trying to declare a symbol twice //! Thrown when trying to declare a symbol twice
class AlreadyDeclaredException class AlreadyDeclaredException
@ -99,15 +99,15 @@ public:
//! Number of unknown functions //! Number of unknown functions
int unknown_function_nbr; int unknown_function_nbr;
//! Add a symbol //! Add a symbol
void addSymbol(const string &name, Type type, const string &tex_name = "") throw (AlreadyDeclaredException); void addSymbol(const string &name, SymbolType type, const string &tex_name = "") throw (AlreadyDeclaredException);
//! Tests if symbol already exists //! Tests if symbol already exists
inline bool exists(const string &name) const; inline bool exists(const string &name) const;
//! Get symbol name by type and ID //! Get symbol name by type and ID
inline string getNameByID(Type type, int id) const throw (UnknownSymbolIDException); inline string getNameByID(SymbolType type, int id) const throw (UnknownSymbolIDException);
//! Get TeX name by type and ID //! Get TeX name by type and ID
inline string getTeXNameByID(Type type, int id) const throw (UnknownSymbolIDException); inline string getTeXNameByID(SymbolType type, int id) const throw (UnknownSymbolIDException);
//! Get type by name //! Get type by name
inline Type getType(const string &name) const throw (UnknownSymbolNameException); inline SymbolType getType(const string &name) const throw (UnknownSymbolNameException);
//! Get ID by name //! Get ID by name
inline int getID(const string &name) const throw (UnknownSymbolNameException); inline int getID(const string &name) const throw (UnknownSymbolNameException);
//! Write output of this class //! Write output of this class
@ -122,7 +122,7 @@ SymbolTable::exists(const string &name) const
} }
inline string inline string
SymbolTable::getNameByID(Type type, int id) const throw (UnknownSymbolIDException) SymbolTable::getNameByID(SymbolType type, int id) const throw (UnknownSymbolIDException)
{ {
inv_symbol_table_type::const_iterator iter = name_table.find(make_pair(type, id)); inv_symbol_table_type::const_iterator iter = name_table.find(make_pair(type, id));
if (iter != name_table.end()) if (iter != name_table.end())
@ -132,7 +132,7 @@ SymbolTable::getNameByID(Type type, int id) const throw (UnknownSymbolIDExceptio
} }
inline string inline string
SymbolTable::getTeXNameByID(Type type, int id) const throw (UnknownSymbolIDException) SymbolTable::getTeXNameByID(SymbolType type, int id) const throw (UnknownSymbolIDException)
{ {
inv_symbol_table_type::const_iterator iter = tex_name_table.find(make_pair(type, id)); inv_symbol_table_type::const_iterator iter = tex_name_table.find(make_pair(type, id));
if (iter != tex_name_table.end()) if (iter != tex_name_table.end())
@ -141,7 +141,7 @@ SymbolTable::getTeXNameByID(Type type, int id) const throw (UnknownSymbolIDExcep
throw UnknownSymbolIDException(type, id); throw UnknownSymbolIDException(type, id);
} }
inline Type inline SymbolType
SymbolTable::getType(const string &name) const throw (UnknownSymbolNameException) SymbolTable::getType(const string &name) const throw (UnknownSymbolNameException)
{ {
symbol_table_type::const_iterator iter = symbol_table.find(name); symbol_table_type::const_iterator iter = symbol_table.find(name);

View File

@ -36,7 +36,7 @@ private:
const SymbolTable &symbol_table; const SymbolTable &symbol_table;
//! A variable is a tuple (type, lag, symbol_id) //! A variable is a tuple (type, lag, symbol_id)
/*! Warning: don't change the order of elements in the tuple, since this determines the lexicographic ordering in computeDynJacobianCols() */ /*! Warning: don't change the order of elements in the tuple, since this determines the lexicographic ordering in computeDynJacobianCols() */
typedef pair<pair<Type, int>, int> var_key_type; typedef pair<pair<SymbolType, int>, int> var_key_type;
typedef map<var_key_type, int> variable_table_type; typedef map<var_key_type, int> variable_table_type;
//! Maps a tuple (type, lag, symbol_id) to a variable ID //! Maps a tuple (type, lag, symbol_id) to a variable ID
@ -81,9 +81,9 @@ public:
class UnknownVariableKeyException class UnknownVariableKeyException
{ {
public: public:
Type type; SymbolType type;
int symb_id, lag; int symb_id, lag;
UnknownVariableKeyException(Type type_arg, int symb_id_arg, int lag_arg) : type(type_arg), symb_id(symb_id_arg), lag(lag_arg) {} UnknownVariableKeyException(SymbolType type_arg, int symb_id_arg, int lag_arg) : type(type_arg), symb_id(symb_id_arg), lag(lag_arg) {}
}; };
//! Thrown when trying to access an unknown variable by var_id //! Thrown when trying to access an unknown variable by var_id
class UnknownVariableIDException class UnknownVariableIDException
@ -103,15 +103,15 @@ public:
}; };
//! Adds a variable in the table, and returns its (newly allocated) variable ID //! Adds a variable in the table, and returns its (newly allocated) variable ID
/*! Also works if the variable already exists */ /*! Also works if the variable already exists */
int addVariable(Type type, int symb_id, int lag) throw (DynJacobianColsAlreadyComputedException); int addVariable(SymbolType type, int symb_id, int lag) throw (DynJacobianColsAlreadyComputedException);
//! Return variable ID //! Return variable ID
inline int getID(Type type, int symb_id, int lag) const throw (UnknownVariableKeyException); inline int getID(SymbolType type, int symb_id, int lag) const throw (UnknownVariableKeyException);
//! Return lag of variable //! Return lag of variable
inline int getLag(int var_id) const throw (UnknownVariableIDException); inline int getLag(int var_id) const throw (UnknownVariableIDException);
//! Return symbol ID of variable //! Return symbol ID of variable
inline int getSymbolID(int var_id) const throw (UnknownVariableIDException); inline int getSymbolID(int var_id) const throw (UnknownVariableIDException);
//! Get variable type //! Get variable type
inline Type getType(int var_id) const throw (UnknownVariableIDException); inline SymbolType getType(int var_id) const throw (UnknownVariableIDException);
//! Get number of variables //! Get number of variables
inline int size() const; inline int size() const;
//! Get column index in dynamic jacobian //! Get column index in dynamic jacobian
@ -135,7 +135,7 @@ VariableTable::getDynJacobianCol(int var_id) const throw (DynJacobianColsNotYetC
} }
inline int inline int
VariableTable::getID(Type type, int symb_id, int lag) const throw (UnknownVariableKeyException) VariableTable::getID(SymbolType type, int symb_id, int lag) const throw (UnknownVariableKeyException)
{ {
variable_table_type::const_iterator it = variable_table.find(make_pair(make_pair(type, lag), symb_id)); variable_table_type::const_iterator it = variable_table.find(make_pair(make_pair(type, lag), symb_id));
if (it == variable_table.end()) if (it == variable_table.end())
@ -144,7 +144,7 @@ VariableTable::getID(Type type, int symb_id, int lag) const throw (UnknownVariab
return it->second; return it->second;
} }
inline Type inline SymbolType
VariableTable::getType(int var_id) const throw (UnknownVariableIDException) VariableTable::getType(int var_id) const throw (UnknownVariableIDException)
{ {
inv_variable_table_type::const_iterator it = inv_variable_table.find(var_id); inv_variable_table_type::const_iterator it = inv_variable_table.find(var_id);