00001 /* $Id: OSiLParserData.h 4891 2014-12-03 03:05:50Z Gassmann $ */ 00014 #ifndef OSILPARSERDATA_H 00015 #define OSILPARSERDATA_H 00016 00017 #include "OSnLNode.h" 00018 #include <vector> 00019 00034 class OSiLParserData 00035 { 00036 public: 00038 OSiLParserData( ); 00039 00041 ~OSiLParserData() ; 00042 00045 void* scanner; 00046 00050 int osillineno; 00051 00055 int qtermcount; 00056 00059 bool qtermidxOneattON; 00060 00063 bool qtermidxTwoattON; 00064 00067 bool qtermidxattON; 00068 00070 bool qtermidattON ; 00071 00075 bool qtermcoefattON; 00076 00077 00078 00082 bool timeDomainStages; 00083 bool timeDomainInterval; 00084 00086 int stagecount; 00087 00089 bool stagenameON; 00090 00092 std::string stagename; 00093 00096 bool stageVariablesON; 00097 bool stageConstraintsON; 00098 bool stageObjectivesON; 00099 00102 bool stageVariablesOrdered; 00103 bool stageConstraintsOrdered; 00104 bool stageObjectivesOrdered; 00105 00107 int stageVariableStartIdx; 00108 int stageConstraintStartIdx; 00109 int stageObjectiveStartIdx; 00110 00112 int stagevarcount; 00113 int stageconcount; 00114 int stageobjcount; 00115 00118 int nvarcovered; 00119 int nconcovered; 00120 00124 int *m_miVarStageInfo; 00125 00129 int *m_miConStageInfo; 00130 00134 int *m_miObjStageInfo; 00135 00138 bool intervalhorizonON; 00139 00141 double intervalhorizon; 00142 00145 bool intervalstartON; 00146 00148 double intervalstart; 00149 00151 bool numberOfMatricesPresent; 00152 int numberOfMatrices; 00153 bool numberOfConesPresent; 00154 int numberOfCones; 00155 int coneCounter; 00156 bool numberOfRowsPresent; 00157 int numberOfRows; 00158 bool numberOfColumnsPresent; 00159 int numberOfColumns; 00160 00161 int numberOfEl; 00162 int numberOf; 00163 int elCounter; 00164 00165 bool namePresent; 00166 std::string name; 00167 00168 bool referenceMatrixIdxPresent; 00169 int referenceMatrixIdx; 00170 00171 bool normScaleFactorPresent; 00172 double normScaleFactor; 00173 bool distortionMatrixPresent; 00174 int distortionMatrix; 00175 bool axisDirectionPresent; 00176 int axisDirection; 00177 bool firstAxisDirectionPresent; 00178 int firstAxisDirection; 00179 bool secondAxisDirectionPresent; 00180 int secondAxisDirection; 00181 bool semidefinitenessPresent; 00182 std::string semidefiniteness; 00183 00184 /* some elements to hold <matrixProgramming> constructs */ 00185 int numberOfMatrixVar; 00186 int numberOfMatrixObj; 00187 int numberOfMatrixCon; 00188 int numberOfMatrixTerms; 00189 int numberOfMatrixExpr; 00190 00191 bool numberOfMatrixTermsPresent; 00192 00193 bool matrixIdxPresent; 00194 bool lbMatrixIdxPresent; 00195 bool lbConeIdxPresent; 00196 bool ubMatrixIdxPresent; 00197 bool ubConeIdxPresent; 00198 bool orderConeIdxPresent; 00199 bool templateMatrixIdxPresent; 00200 bool constantMatrixIdxPresent; 00201 bool varReferenceMatrixIdxPresent; 00202 bool objReferenceMatrixIdxPresent; 00203 bool conReferenceMatrixIdxPresent; 00204 bool varTypePresent; 00205 00206 int matrixIdx; 00207 int lbMatrixIdx; 00208 int lbConeIdx; 00209 int ubMatrixIdx; 00210 int ubConeIdx; 00211 int orderConeIdx; 00212 int templateMatrixIdx; 00213 int constantMatrixIdx; 00214 int varReferenceMatrixIdx; 00215 int objReferenceMatrixIdx; 00216 int conReferenceMatrixIdx; 00217 char varType; 00218 00219 bool shapePresent; 00220 std::string shape; 00221 00222 bool matrixTermInObj; 00223 00224 int kounter; 00225 int kount2; 00226 double tempVal; 00227 00231 bool ignoreDataAfterErrors; 00232 bool suppressFurtherErrorMessages; 00233 char *errorText; 00234 00238 std::string parser_errors; 00239 }; 00240 00241 #endif /*OSILPARSERDATA_H_*/
1.6.1