00001 /* $Id: OSnLParserData.h 4806 2014-06-07 11:37:46Z Gassmann $ */ 00014 #ifndef OSNLPARSERDATA_H 00015 #define OSNLPARSERDATA_H 00016 00017 #include "OSnLNode.h" 00018 #include <vector> 00019 00020 00029 class OSnLParserData 00030 { 00031 public: 00032 00034 bool categoryAttributePresent; 00035 std::string categoryAttribute; 00036 bool typeAttributePresent; 00037 std::string typeAttribute; 00038 bool varTypeAttributePresent; 00039 std::string varTypeAttribute; 00040 bool objTypeAttributePresent; 00041 std::string objTypeAttribute; 00042 bool conTypeAttributePresent; 00043 std::string conTypeAttribute; 00044 bool enumTypeAttributePresent; 00045 std::string enumTypeAttribute; 00046 bool nameAttributePresent; 00047 std::string nameAttribute; 00048 bool valueAttributePresent; 00049 std::string valueAttribute; 00050 bool lbValueAttributePresent; 00051 std::string lbValueAttribute; 00052 bool ubValueAttributePresent; 00053 std::string ubValueAttribute; 00054 bool descriptionAttributePresent; 00055 std::string descriptionAttribute; 00056 bool solverAttributePresent; 00057 std::string solverAttribute; 00058 bool unitAttributePresent; 00059 std::string unitAttribute; 00060 bool idxAttributePresent; 00061 int idxAttribute; 00062 bool shapeAttributePresent; 00063 00065 int tempInt; 00066 int numberOf; 00067 int kounter; 00068 int iOther; 00069 int iOption; 00070 double tempVal; 00071 std::string tempStr; 00072 00074 OSnLParserData( ); 00075 00077 ~OSnLParserData() ; 00078 00079 00083 ExprNode *nlNodePoint; 00084 00086 OSnLNodeVariable *nlNodeVariablePoint; 00087 00089 OSnLNodeNumber *nlNodeNumberPoint; 00090 00092 OSnLMNodeMatrixReference *nlMNodeMatrixRef; 00093 00095 OSnLMNodeMatrixVar *nlMNodeMatrixVar; 00096 00098 OSnLMNodeMatrixObj *nlMNodeMatrixObj; 00099 00101 OSnLMNodeMatrixCon *nlMNodeMatrixCon; 00102 00104 int nlnodenumber; 00105 00109 int tmpnlcount; 00110 00115 bool numbertypeattON; 00116 00121 bool numbervalueattON; 00122 00127 bool numberidattON; 00128 00133 bool variableidxattON ; 00134 00139 bool variablecoefattON ; 00140 00146 std::vector<ExprNode*> nlNodeVec; 00147 00152 std::vector<ExprNode*> sumVec; 00153 00158 std::vector<ExprNode*> allDiffVec; 00159 00164 std::vector<ExprNode*> productVec; 00165 00170 std::vector<ExprNode*> maxVec; 00171 00176 std::vector<ExprNode*> minVec; 00177 00182 std::vector<ExprNode*> matrixSumVec; 00183 00188 std::vector<ExprNode*> matrixProductVec; 00189 00194 bool matrixreftypeattON ; 00195 00200 bool matrixidxattON ; 00201 00203 bool includeDiagonalAttributePresent; 00204 bool includeDiagonalAttribute; 00205 00209 char *errorText; 00210 00214 std::string parser_errors; 00215 00217 bool ignoreDataAfterErrors; 00218 bool suppressFurtherErrorMessages; 00219 };//OSnLParserData 00220 00221 00222 inline void osnl_empty_vectors( OSnLParserData* osnlData) 00223 { 00224 00225 }//end osnl_empty_vectors 00226 00227 00228 00229 #endif /*OSNLPARSERDATA_H_*/ 00230
1.6.1