Public Member Functions | Public Attributes | List of all members
OSiLParserData Class Reference

The OSiLParserData Class, used to store parser data. More...

#include <OSiLParserData.h>

Collaboration diagram for OSiLParserData:
Collaboration graph
[legend]

Public Member Functions

 OSiLParserData ()
 the OSiLParserData class constructor More...
 
 ~OSiLParserData ()
 the OSiLParserData class destructor More...
 

Public Attributes

voidscanner
 scanner is used to store data in a reentrant lexer we use this to pass an OSiLParserData object to the parser More...
 
int osillineno
 if there is a parser error, osillineno holds the line number in the OSiL file where the error occured. More...
 
int qtermcount
 These variables are used for processing the <quadraticCoefficients> element. More...
 
bool qtermidxOneattON
 qtermidxOneattON is true if we have found the first index of the quadratic term More...
 
bool qtermidxTwoattON
 qtermidxTwoattON is true if we have found the second index of the quadratic term More...
 
bool qtermidxattON
 qtermidxattON is true if we have found the row index of the of a quadratic term More...
 
bool qtermidattON
 qtermidattON is true if we have found the id of the quadratic term More...
 
bool qtermcoefattON
 qtermcoefattON is true if we have found the coefficient of the quadratic term More...
 
bool timeDomainStages
 These variables are used to parse the <timeDomain> element. More...
 
bool timeDomainInterval
 
int stagecount
 store the number of stages More...
 
bool stagenameON
 stagenameON is true if the current stage was given a name More...
 
std::string stagename
 store the name of the current stage More...
 
bool stageVariablesON
 for each stage we need to track whether the <variables>, <constraints>, <objectives> elements are present... More...
 
bool stageConstraintsON
 
bool stageObjectivesON
 
bool stageVariablesOrdered
 ...we need to track whether the variables, constraints, objectives are given in temporal order... More...
 
bool stageConstraintsOrdered
 
bool stageObjectivesOrdered
 
int stageVariableStartIdx
 ...we need to track the first variable, constraint, objective... More...
 
int stageConstraintStartIdx
 
int stageObjectiveStartIdx
 
int stagevarcount
 ...and we need to track the number of variables we have seen More...
 
int stageconcount
 
int stageobjcount
 
int nvarcovered
 these two integers track how many variables and constraints have been assigned to a stage; this is used for consistency checks. More...
 
int nconcovered
 
intm_miVarStageInfo
 m_miVarStageInfo is an array that for each variable gives the stage to which it belongs. More...
 
intm_miConStageInfo
 m_miConStageInfo is an array that for each constraint gives the stage to which it belongs. More...
 
intm_miObjStageInfo
 m_miObjStageInfo is an array that for each objective gives the stage to which it belongs. More...
 
bool intervalhorizonON
 intervalhorizonON is true if we have found a horizon for the time interval More...
 
double intervalhorizon
 intervalhorizon holds the value of the end of the planning horizon More...
 
bool intervalstartON
 intervalstartON is true if we have found a start time for the time interval More...
 
double intervalstart
 intervalstart holds the value for the start of the planning horizon More...
 
bool numberOfMatricesPresent
 some elements to hold matrices and cones More...
 
int numberOfMatrices
 
bool numberOfConesPresent
 
int numberOfCones
 
int coneCounter
 
bool numberOfRowsPresent
 
int numberOfRows
 
bool numberOfColumnsPresent
 
int numberOfColumns
 
int numberOfEl
 
int numberOf
 
int elCounter
 
bool namePresent
 
std::string name
 
bool referenceMatrixIdxPresent
 
int referenceMatrixIdx
 
bool normScaleFactorPresent
 
double normScaleFactor
 
bool distortionMatrixPresent
 
int distortionMatrix
 
bool axisDirectionPresent
 
int axisDirection
 
bool firstAxisDirectionPresent
 
int firstAxisDirection
 
bool secondAxisDirectionPresent
 
int secondAxisDirection
 
bool semidefinitenessPresent
 
std::string semidefiniteness
 
int numberOfMatrixVar
 
int numberOfMatrixObj
 
int numberOfMatrixCon
 
int numberOfMatrixTerms
 
int numberOfMatrixExpr
 
bool numberOfMatrixTermsPresent
 
bool matrixIdxPresent
 
bool lbMatrixIdxPresent
 
bool lbConeIdxPresent
 
bool ubMatrixIdxPresent
 
bool ubConeIdxPresent
 
bool orderConeIdxPresent
 
bool templateMatrixIdxPresent
 
bool constantMatrixIdxPresent
 
bool varReferenceMatrixIdxPresent
 
bool objReferenceMatrixIdxPresent
 
bool conReferenceMatrixIdxPresent
 
bool varTypePresent
 
int matrixIdx
 
int lbMatrixIdx
 
int lbConeIdx
 
int ubMatrixIdx
 
int ubConeIdx
 
int orderConeIdx
 
int templateMatrixIdx
 
int constantMatrixIdx
 
int varReferenceMatrixIdx
 
int objReferenceMatrixIdx
 
int conReferenceMatrixIdx
 
char varType
 
bool shapePresent
 
std::string shape
 
bool matrixTermInObj
 
int kounter
 
int kount2
 
double tempVal
 
bool ignoreDataAfterErrors
 if the parser finds invalid text it is held here and we delete if the file was not valid More...
 
bool suppressFurtherErrorMessages
 
char * errorText
 
std::string parser_errors
 used to accumulate error message so the parser does not die on the first error encountered More...
 

Detailed Description

The OSiLParserData Class, used to store parser data.

Author
Robert Fourer, Jun Ma, Kipp Martin
Version
1.0, 03/14/2004
Since
OS 1.0
Remarks
The OSiLParserData class is used to hold the nonlinear part of the problem when an OSiL instance is parsed. We do this so we can have a reentrant parser. We do not have to store the linear part because we do not use flex/bison to parse the linear part of the problem.

Definition at line 34 of file OSiLParserData.h.

Constructor & Destructor Documentation

OSiLParserData::OSiLParserData ( )

the OSiLParserData class constructor

Definition at line 44 of file OSiLParserData.cpp.

OSiLParserData::~OSiLParserData ( )

the OSiLParserData class destructor

Definition at line 20 of file OSiLParserData.cpp.

Member Data Documentation

void* OSiLParserData::scanner

scanner is used to store data in a reentrant lexer we use this to pass an OSiLParserData object to the parser

Definition at line 45 of file OSiLParserData.h.

int OSiLParserData::osillineno

if there is a parser error, osillineno holds the line number in the OSiL file where the error occured.

Definition at line 50 of file OSiLParserData.h.

int OSiLParserData::qtermcount

These variables are used for processing the <quadraticCoefficients> element.

store the number of quadratic terms

Definition at line 55 of file OSiLParserData.h.

bool OSiLParserData::qtermidxOneattON

qtermidxOneattON is true if we have found the first index of the quadratic term

Definition at line 59 of file OSiLParserData.h.

bool OSiLParserData::qtermidxTwoattON

qtermidxTwoattON is true if we have found the second index of the quadratic term

Definition at line 63 of file OSiLParserData.h.

bool OSiLParserData::qtermidxattON

qtermidxattON is true if we have found the row index of the of a quadratic term

Definition at line 67 of file OSiLParserData.h.

bool OSiLParserData::qtermidattON

qtermidattON is true if we have found the id of the quadratic term

Definition at line 70 of file OSiLParserData.h.

bool OSiLParserData::qtermcoefattON

qtermcoefattON is true if we have found the coefficient of the quadratic term

Definition at line 75 of file OSiLParserData.h.

bool OSiLParserData::timeDomainStages

These variables are used to parse the <timeDomain> element.

store the type of <timeDomain> (extend as needed)

Definition at line 82 of file OSiLParserData.h.

bool OSiLParserData::timeDomainInterval

Definition at line 83 of file OSiLParserData.h.

int OSiLParserData::stagecount

store the number of stages

Definition at line 86 of file OSiLParserData.h.

bool OSiLParserData::stagenameON

stagenameON is true if the current stage was given a name

Definition at line 89 of file OSiLParserData.h.

std::string OSiLParserData::stagename

store the name of the current stage

Definition at line 92 of file OSiLParserData.h.

bool OSiLParserData::stageVariablesON

for each stage we need to track whether the <variables>, <constraints>, <objectives> elements are present...

Definition at line 96 of file OSiLParserData.h.

bool OSiLParserData::stageConstraintsON

Definition at line 97 of file OSiLParserData.h.

bool OSiLParserData::stageObjectivesON

Definition at line 98 of file OSiLParserData.h.

bool OSiLParserData::stageVariablesOrdered

...we need to track whether the variables, constraints, objectives are given in temporal order...

Definition at line 102 of file OSiLParserData.h.

bool OSiLParserData::stageConstraintsOrdered

Definition at line 103 of file OSiLParserData.h.

bool OSiLParserData::stageObjectivesOrdered

Definition at line 104 of file OSiLParserData.h.

int OSiLParserData::stageVariableStartIdx

...we need to track the first variable, constraint, objective...

Definition at line 107 of file OSiLParserData.h.

int OSiLParserData::stageConstraintStartIdx

Definition at line 108 of file OSiLParserData.h.

int OSiLParserData::stageObjectiveStartIdx

Definition at line 109 of file OSiLParserData.h.

int OSiLParserData::stagevarcount

...and we need to track the number of variables we have seen

Definition at line 112 of file OSiLParserData.h.

int OSiLParserData::stageconcount

Definition at line 113 of file OSiLParserData.h.

int OSiLParserData::stageobjcount

Definition at line 114 of file OSiLParserData.h.

int OSiLParserData::nvarcovered

these two integers track how many variables and constraints have been assigned to a stage; this is used for consistency checks.

Definition at line 118 of file OSiLParserData.h.

int OSiLParserData::nconcovered

Definition at line 119 of file OSiLParserData.h.

int* OSiLParserData::m_miVarStageInfo

m_miVarStageInfo is an array that for each variable gives the stage to which it belongs.

Definition at line 124 of file OSiLParserData.h.

int* OSiLParserData::m_miConStageInfo

m_miConStageInfo is an array that for each constraint gives the stage to which it belongs.

Definition at line 129 of file OSiLParserData.h.

int* OSiLParserData::m_miObjStageInfo

m_miObjStageInfo is an array that for each objective gives the stage to which it belongs.

Definition at line 134 of file OSiLParserData.h.

bool OSiLParserData::intervalhorizonON

intervalhorizonON is true if we have found a horizon for the time interval

Definition at line 138 of file OSiLParserData.h.

double OSiLParserData::intervalhorizon

intervalhorizon holds the value of the end of the planning horizon

Definition at line 141 of file OSiLParserData.h.

bool OSiLParserData::intervalstartON

intervalstartON is true if we have found a start time for the time interval

Definition at line 145 of file OSiLParserData.h.

double OSiLParserData::intervalstart

intervalstart holds the value for the start of the planning horizon

Definition at line 148 of file OSiLParserData.h.

bool OSiLParserData::numberOfMatricesPresent

some elements to hold matrices and cones

Definition at line 151 of file OSiLParserData.h.

int OSiLParserData::numberOfMatrices

Definition at line 152 of file OSiLParserData.h.

bool OSiLParserData::numberOfConesPresent

Definition at line 153 of file OSiLParserData.h.

int OSiLParserData::numberOfCones

Definition at line 154 of file OSiLParserData.h.

int OSiLParserData::coneCounter

Definition at line 155 of file OSiLParserData.h.

bool OSiLParserData::numberOfRowsPresent

Definition at line 156 of file OSiLParserData.h.

int OSiLParserData::numberOfRows

Definition at line 157 of file OSiLParserData.h.

bool OSiLParserData::numberOfColumnsPresent

Definition at line 158 of file OSiLParserData.h.

int OSiLParserData::numberOfColumns

Definition at line 159 of file OSiLParserData.h.

int OSiLParserData::numberOfEl

Definition at line 161 of file OSiLParserData.h.

int OSiLParserData::numberOf

Definition at line 162 of file OSiLParserData.h.

int OSiLParserData::elCounter

Definition at line 163 of file OSiLParserData.h.

bool OSiLParserData::namePresent

Definition at line 165 of file OSiLParserData.h.

std::string OSiLParserData::name

Definition at line 166 of file OSiLParserData.h.

bool OSiLParserData::referenceMatrixIdxPresent

Definition at line 168 of file OSiLParserData.h.

int OSiLParserData::referenceMatrixIdx

Definition at line 169 of file OSiLParserData.h.

bool OSiLParserData::normScaleFactorPresent

Definition at line 171 of file OSiLParserData.h.

double OSiLParserData::normScaleFactor

Definition at line 172 of file OSiLParserData.h.

bool OSiLParserData::distortionMatrixPresent

Definition at line 173 of file OSiLParserData.h.

int OSiLParserData::distortionMatrix

Definition at line 174 of file OSiLParserData.h.

bool OSiLParserData::axisDirectionPresent

Definition at line 175 of file OSiLParserData.h.

int OSiLParserData::axisDirection

Definition at line 176 of file OSiLParserData.h.

bool OSiLParserData::firstAxisDirectionPresent

Definition at line 177 of file OSiLParserData.h.

int OSiLParserData::firstAxisDirection

Definition at line 178 of file OSiLParserData.h.

bool OSiLParserData::secondAxisDirectionPresent

Definition at line 179 of file OSiLParserData.h.

int OSiLParserData::secondAxisDirection

Definition at line 180 of file OSiLParserData.h.

bool OSiLParserData::semidefinitenessPresent

Definition at line 181 of file OSiLParserData.h.

std::string OSiLParserData::semidefiniteness

Definition at line 182 of file OSiLParserData.h.

int OSiLParserData::numberOfMatrixVar

Definition at line 185 of file OSiLParserData.h.

int OSiLParserData::numberOfMatrixObj

Definition at line 186 of file OSiLParserData.h.

int OSiLParserData::numberOfMatrixCon

Definition at line 187 of file OSiLParserData.h.

int OSiLParserData::numberOfMatrixTerms

Definition at line 188 of file OSiLParserData.h.

int OSiLParserData::numberOfMatrixExpr

Definition at line 189 of file OSiLParserData.h.

bool OSiLParserData::numberOfMatrixTermsPresent

Definition at line 191 of file OSiLParserData.h.

bool OSiLParserData::matrixIdxPresent

Definition at line 193 of file OSiLParserData.h.

bool OSiLParserData::lbMatrixIdxPresent

Definition at line 194 of file OSiLParserData.h.

bool OSiLParserData::lbConeIdxPresent

Definition at line 195 of file OSiLParserData.h.

bool OSiLParserData::ubMatrixIdxPresent

Definition at line 196 of file OSiLParserData.h.

bool OSiLParserData::ubConeIdxPresent

Definition at line 197 of file OSiLParserData.h.

bool OSiLParserData::orderConeIdxPresent

Definition at line 198 of file OSiLParserData.h.

bool OSiLParserData::templateMatrixIdxPresent

Definition at line 199 of file OSiLParserData.h.

bool OSiLParserData::constantMatrixIdxPresent

Definition at line 200 of file OSiLParserData.h.

bool OSiLParserData::varReferenceMatrixIdxPresent

Definition at line 201 of file OSiLParserData.h.

bool OSiLParserData::objReferenceMatrixIdxPresent

Definition at line 202 of file OSiLParserData.h.

bool OSiLParserData::conReferenceMatrixIdxPresent

Definition at line 203 of file OSiLParserData.h.

bool OSiLParserData::varTypePresent

Definition at line 204 of file OSiLParserData.h.

int OSiLParserData::matrixIdx

Definition at line 206 of file OSiLParserData.h.

int OSiLParserData::lbMatrixIdx

Definition at line 207 of file OSiLParserData.h.

int OSiLParserData::lbConeIdx

Definition at line 208 of file OSiLParserData.h.

int OSiLParserData::ubMatrixIdx

Definition at line 209 of file OSiLParserData.h.

int OSiLParserData::ubConeIdx

Definition at line 210 of file OSiLParserData.h.

int OSiLParserData::orderConeIdx

Definition at line 211 of file OSiLParserData.h.

int OSiLParserData::templateMatrixIdx

Definition at line 212 of file OSiLParserData.h.

int OSiLParserData::constantMatrixIdx

Definition at line 213 of file OSiLParserData.h.

int OSiLParserData::varReferenceMatrixIdx

Definition at line 214 of file OSiLParserData.h.

int OSiLParserData::objReferenceMatrixIdx

Definition at line 215 of file OSiLParserData.h.

int OSiLParserData::conReferenceMatrixIdx

Definition at line 216 of file OSiLParserData.h.

char OSiLParserData::varType

Definition at line 217 of file OSiLParserData.h.

bool OSiLParserData::shapePresent

Definition at line 219 of file OSiLParserData.h.

std::string OSiLParserData::shape

Definition at line 220 of file OSiLParserData.h.

bool OSiLParserData::matrixTermInObj

Definition at line 222 of file OSiLParserData.h.

int OSiLParserData::kounter

Definition at line 224 of file OSiLParserData.h.

int OSiLParserData::kount2

Definition at line 225 of file OSiLParserData.h.

double OSiLParserData::tempVal

Definition at line 226 of file OSiLParserData.h.

bool OSiLParserData::ignoreDataAfterErrors

if the parser finds invalid text it is held here and we delete if the file was not valid

Definition at line 231 of file OSiLParserData.h.

bool OSiLParserData::suppressFurtherErrorMessages

Definition at line 232 of file OSiLParserData.h.

char* OSiLParserData::errorText

Definition at line 233 of file OSiLParserData.h.

std::string OSiLParserData::parser_errors

used to accumulate error message so the parser does not die on the first error encountered

Definition at line 238 of file OSiLParserData.h.


The documentation for this class was generated from the following files: