My Project
OSiLParserData.h
Go to the documentation of this file.
1/* $Id$ */
14#ifndef OSILPARSERDATA_H
15#define OSILPARSERDATA_H
16
17#include "OSnLNode.h"
18#include <vector>
19
35{
36public:
39
42
45 void* scanner;
46
51
56
60
64
68
71
76
77
78
84
87
90
92 std::string stagename;
93
99
105
110
115
120
125
130
135
139
142
146
149
160
164
166 std::string name;
167
170
182 std::string semidefiniteness;
183
184 /* some elements to hold <matrixProgramming> constructs */
190
192
205
218
220 std::string shape;
221
223
226 double tempVal;
227
234
238 std::string parser_errors;
239};
240
241#endif /*OSILPARSERDATA_H_*/
This file defines the OSnLNode class along with its derived classes.
The OSiLParserData Class, used to store parser data.
bool qtermcoefattON
qtermcoefattON is true if we have found the coefficient of the quadratic term
int stagevarcount
...and we need to track the number of variables we have seen
bool constantMatrixIdxPresent
bool qtermidxattON
qtermidxattON is true if we have found the row index of the of a quadratic term
bool numberOfMatrixTermsPresent
bool stageVariablesON
for each stage we need to track whether the <variables>, <constraints>, <objectives> elements are pre...
bool templateMatrixIdxPresent
bool objReferenceMatrixIdxPresent
bool numberOfMatricesPresent
some elements to hold matrices and cones
bool suppressFurtherErrorMessages
bool qtermidxOneattON
qtermidxOneattON is true if we have found the first index of the quadratic term
std::string semidefiniteness
bool secondAxisDirectionPresent
int * m_miConStageInfo
m_miConStageInfo is an array that for each constraint gives the stage to which it belongs.
int nvarcovered
these two integers track how many variables and constraints have been assigned to a stage; this is us...
bool conReferenceMatrixIdxPresent
std::string shape
bool stagenameON
stagenameON is true if the current stage was given a name
bool varReferenceMatrixIdxPresent
bool intervalhorizonON
intervalhorizonON is true if we have found a horizon for the time interval
void * scanner
scanner is used to store data in a reentrant lexer we use this to pass an OSiLParserData object to th...
~OSiLParserData()
the OSiLParserData class destructor
bool ignoreDataAfterErrors
if the parser finds invalid text it is held here and we delete if the file was not valid
bool qtermidattON
qtermidattON is true if we have found the id of the quadratic term
int stagecount
store the number of stages
bool qtermidxTwoattON
qtermidxTwoattON is true if we have found the second index of the quadratic term
std::string name
double intervalhorizon
intervalhorizon holds the value of the end of the planning horizon
bool firstAxisDirectionPresent
double intervalstart
intervalstart holds the value for the start of the planning horizon
int * m_miObjStageInfo
m_miObjStageInfo is an array that for each objective gives the stage to which it belongs.
bool referenceMatrixIdxPresent
bool intervalstartON
intervalstartON is true if we have found a start time for the time interval
int osillineno
if there is a parser error, osillineno holds the line number in the OSiL file where the error occured...
OSiLParserData()
the OSiLParserData class constructor
std::string stagename
store the name of the current stage
int stageVariableStartIdx
...we need to track the first variable, constraint, objective...
std::string parser_errors
used to accumulate error message so the parser does not die on the first error encountered
int qtermcount
These variables are used for processing the <quadraticCoefficients> element.
bool stageVariablesOrdered
...we need to track whether the variables, constraints, objectives are given in temporal order....
int * m_miVarStageInfo
m_miVarStageInfo is an array that for each variable gives the stage to which it belongs.
bool timeDomainStages
These variables are used to parse the <timeDomain> element.