OSiLParserData Class Reference

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

#include <OSiLParserData.h>

Collaboration diagram for OSiLParserData:

Collaboration graph
[legend]
List of all members.

Public Member Functions

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

Public Attributes

void * scanner
 scanner is used to store data in a reentrant lexer we use this to pass an OSiLParserData object to the parser
OSnLNodenlNodePoint
 a pointer to an OSnLNode object
OSnLNodeVariablenlNodeVariablePoint
 a pointer to an OSnLNode object that is a variable
OSnLNodeNumbernlNodeNumberPoint
 a pointer to an OSnLNode object that is a number
int qtermcount
 store the number of quadratic terms
bool qtermidxOneattON
 qtermidxOneattON is true if we have found the first index of the quadratic term
bool qtermidxTwoattON
 qtermidxTwoattON is true if we have found the second index of the quadratic term
bool qtermidxattON
 qtermidxattON is true if we have found the row index of the of a quadratic term
bool qtermidattON
 qtermidattON is true if we have found the id of the quadratic term
bool qtermcoefattON
 qtermcoefattON is true if we have found the coefficient of the quadratic term
int nlnodecount
 nlnodecout is the number of nl nodes in the instance
int tmpnlcount
 tmpnlcount counts the number of nl nodes actually found, if this number differs from nlnodecount, then an exception is thrown
bool numbertypeattON
 numbertypeattON is set to true if the type attribute has been parsed for an OSnLNodeNumber object, and exception is thrown if there is more than one value attribute
bool numbervalueattON
 numbervalueattON is set to true if the value attribute has been parsed for an OSnLNodeNumber object, an exception is thrown if there is more than one value attribute
bool numberidattON
 numberidattON is set to true if the id attribute has been parsed for an OSnLNodeNumber object, an exception is thrown if there is more than one id attribute
bool variableidxattON
 variableidxattON is set to true if the idx attribute has been parsed for an OSnLNodeVariable, an exception is thrown if there is more than one idx attribute
bool variablecoefattON
 variablecoeffattON is set to true if the coeff attribute has been parsed for an OSnLNodeVariable, an exception is thrown if there is more than one coeff attribute
int osillineno
 if there is a parser error, osillineno holds the line number in the OSiL file where the error occured.
std::vector< OSnLNode * > nlNodeVec
 nlNodeVec holds a vector of pointers to OSnLNodes
std::vector< OSnLNode * > sumVec
 the OSnLNodeSum node can have any number of children, including other children with an inderminent number of children so when parsing we need to temporarily store all of its children
std::vector< OSnLNode * > allDiffVec
 the OSnLNodeallDiff node can have any number of children, including other children with an inderminent number of children so when parsing we need to temporarily store all of its children
std::vector< OSnLNode * > productVec
 the OSnLNodeProduct node can have any number of children, including other children with an inderminent number of children so when parsing we need to temporarily store all of its children
std::vector< OSnLNode * > maxVec
 the OSnLNodeMax node can have any number of children, including other children with an inderminent number of children so when parsing we need to temporarily store all of its children
std::vector< OSnLNode * > minVec
 the OSnLNodeMin node can have any number of children, including other children with an inderminent number of children so when parsing we need to temporarily store all of its children

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 35 of file OSiLParserData.h.


Constructor & Destructor Documentation

OSiLParserData::OSiLParserData (  ) 

the OSiLParserData class constructor

Definition at line 25 of file OSiLParserData.cpp.

OSiLParserData::~OSiLParserData (  ) 

the OSiLParserData class destructor

Definition at line 16 of file OSiLParserData.cpp.

References maxVec, nlNodeVec, productVec, and sumVec.


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.

OSnLNode* OSiLParserData::nlNodePoint

a pointer to an OSnLNode object

Definition at line 48 of file OSiLParserData.h.

OSnLNodeVariable* OSiLParserData::nlNodeVariablePoint

a pointer to an OSnLNode object that is a variable

Definition at line 51 of file OSiLParserData.h.

OSnLNodeNumber* OSiLParserData::nlNodeNumberPoint

a pointer to an OSnLNode object that is a number

Definition at line 54 of file OSiLParserData.h.

int OSiLParserData::qtermcount

store the number of quadratic terms

Definition at line 57 of file OSiLParserData.h.

bool OSiLParserData::qtermidxOneattON

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

Definition at line 61 of file OSiLParserData.h.

bool OSiLParserData::qtermidxTwoattON

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

Definition at line 65 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 69 of file OSiLParserData.h.

bool OSiLParserData::qtermidattON

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

Definition at line 72 of file OSiLParserData.h.

bool OSiLParserData::qtermcoefattON

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

Definition at line 77 of file OSiLParserData.h.

int OSiLParserData::nlnodecount

nlnodecout is the number of nl nodes in the instance

Definition at line 80 of file OSiLParserData.h.

int OSiLParserData::tmpnlcount

tmpnlcount counts the number of nl nodes actually found, if this number differs from nlnodecount, then an exception is thrown

Definition at line 85 of file OSiLParserData.h.

bool OSiLParserData::numbertypeattON

numbertypeattON is set to true if the type attribute has been parsed for an OSnLNodeNumber object, and exception is thrown if there is more than one value attribute

Definition at line 91 of file OSiLParserData.h.

bool OSiLParserData::numbervalueattON

numbervalueattON is set to true if the value attribute has been parsed for an OSnLNodeNumber object, an exception is thrown if there is more than one value attribute

Definition at line 97 of file OSiLParserData.h.

bool OSiLParserData::numberidattON

numberidattON is set to true if the id attribute has been parsed for an OSnLNodeNumber object, an exception is thrown if there is more than one id attribute

Definition at line 103 of file OSiLParserData.h.

bool OSiLParserData::variableidxattON

variableidxattON is set to true if the idx attribute has been parsed for an OSnLNodeVariable, an exception is thrown if there is more than one idx attribute

Definition at line 109 of file OSiLParserData.h.

bool OSiLParserData::variablecoefattON

variablecoeffattON is set to true if the coeff attribute has been parsed for an OSnLNodeVariable, an exception is thrown if there is more than one coeff attribute

Definition at line 115 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 120 of file OSiLParserData.h.

std::vector<OSnLNode*> OSiLParserData::nlNodeVec

nlNodeVec holds a vector of pointers to OSnLNodes

Definition at line 123 of file OSiLParserData.h.

Referenced by ~OSiLParserData().

std::vector<OSnLNode*> OSiLParserData::sumVec

the OSnLNodeSum node can have any number of children, including other children with an inderminent number of children so when parsing we need to temporarily store all of its children

Definition at line 129 of file OSiLParserData.h.

Referenced by ~OSiLParserData().

std::vector<OSnLNode*> OSiLParserData::allDiffVec

the OSnLNodeallDiff node can have any number of children, including other children with an inderminent number of children so when parsing we need to temporarily store all of its children

Definition at line 135 of file OSiLParserData.h.

std::vector<OSnLNode*> OSiLParserData::productVec

the OSnLNodeProduct node can have any number of children, including other children with an inderminent number of children so when parsing we need to temporarily store all of its children

Definition at line 141 of file OSiLParserData.h.

Referenced by ~OSiLParserData().

std::vector<OSnLNode*> OSiLParserData::maxVec

the OSnLNodeMax node can have any number of children, including other children with an inderminent number of children so when parsing we need to temporarily store all of its children

Definition at line 147 of file OSiLParserData.h.

Referenced by ~OSiLParserData().

std::vector<OSnLNode*> OSiLParserData::minVec

the OSnLNodeMin node can have any number of children, including other children with an inderminent number of children so when parsing we need to temporarily store all of its children

Definition at line 153 of file OSiLParserData.h.


The documentation for this class was generated from the following files:
Generated on Thu May 15 22:15:36 2008 by  doxygen 1.4.7