OSnLParserData.h
Go to the documentation of this file.
1 /* $Id: OSnLParserData.h 4806 2014-06-07 11:37:46Z Gassmann $ */
14 #ifndef OSNLPARSERDATA_H
15 #define OSNLPARSERDATA_H
16 
17 #include "OSnLNode.h"
18 #include <vector>
19 
20 
30 {
31 public:
32 
35  std::string categoryAttribute;
37  std::string typeAttribute;
39  std::string varTypeAttribute;
41  std::string objTypeAttribute;
43  std::string conTypeAttribute;
45  std::string enumTypeAttribute;
47  std::string nameAttribute;
49  std::string valueAttribute;
51  std::string lbValueAttribute;
53  std::string ubValueAttribute;
55  std::string descriptionAttribute;
57  std::string solverAttribute;
59  std::string unitAttribute;
63 
65  int tempInt;
66  int numberOf;
67  int kounter;
68  int iOther;
69  int iOption;
70  double tempVal;
71  std::string tempStr;
72 
74  OSnLParserData( );
75 
77  ~OSnLParserData() ;
78 
79 
84 
87 
90 
93 
96 
99 
102 
105 
110 
116 
122 
128 
134 
140 
146  std::vector<ExprNode*> nlNodeVec;
147 
152  std::vector<ExprNode*> sumVec;
153 
158  std::vector<ExprNode*> allDiffVec;
159 
164  std::vector<ExprNode*> productVec;
165 
170  std::vector<ExprNode*> maxVec;
171 
176  std::vector<ExprNode*> minVec;
177 
182  std::vector<ExprNode*> matrixSumVec;
183 
188  std::vector<ExprNode*> matrixProductVec;
189 
195 
201 
205 
209  char *errorText;
210 
214  std::string parser_errors;
215 
219 };//OSnLParserData
220 
221 
223 {
224 
225 }//end osnl_empty_vectors
226 
227 
228 
229 #endif /*OSNLPARSERDATA_H_*/
230 
bool objTypeAttributePresent
std::string solverAttribute
std::string lbValueAttribute
This file defines the OSnLNode class along with its derived classes.
int tmpnlcount
tmpnlcount counts the number of nl nodes actually found.
bool typeAttributePresent
std::string parser_errors
used to accumulate error message so the parser does not die on the first error encountered ...
std::vector< ExprNode * > minVec
the OSnLNodeMin node can have any number of children, including other children with an indeterminate ...
std::vector< ExprNode * > allDiffVec
the OSnLNodeallDiff node can have any number of children, including other children with an indetermin...
int tempInt
some temporary items to facilitate code sharing
bool matrixreftypeattON
matrixreftypeattON is set to true if the type attribute has been parsed for an OSnLMNodeMatrixReferen...
std::vector< ExprNode * > maxVec
the OSnLNodeMax node can have any number of children, including other children with an indeterminate ...
bool includeDiagonalAttributePresent
Attributes and other data items associated with parsing the OSnLMNodes.
OSnLMNodeMatrixCon * nlMNodeMatrixCon
a pointer to an OSnLMNode object that is a matrixCon reference
std::string categoryAttribute
OSnLMNodeMatrixObj * nlMNodeMatrixObj
a pointer to an OSnLMNode object that is a matrixObj reference
bool valueAttributePresent
std::string descriptionAttribute
bool lbValueAttributePresent
std::vector< ExprNode * > matrixSumVec
the OSnLMNodeMatrixSum node can have any number of children, including other children with an indeter...
OSnLParserData * osnlData
bool variablecoefattON
variablecoefattON 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
OSnLNodeNumber * nlNodeNumberPoint
a pointer to an OSnLNode object that is a number
std::string tempStr
The OSnLNodeNumber Class.
Definition: OSnLNode.h:1262
OSnLNodeVariable * nlNodeVariablePoint
a pointer to an OSnLNode object that is a variable
OSnLMNodeMatrixVar * nlMNodeMatrixVar
a pointer to an OSnLMNode object that is a matrixVar reference
A generic class from which we derive both OSnLNode and OSnLMNode.
Definition: OSnLNode.h:56
OSnLParserData()
the OSnLParserData class constructor
bool nameAttributePresent
The OSnLNodeVariable Class.
Definition: OSnLNode.h:1478
ExprNode * nlNodePoint
These entities are used for parsing &lt;nonlinearExpressions&gt;
bool descriptionAttributePresent
bool ubValueAttributePresent
std::string enumTypeAttribute
OSnLMNodeMatrixReference * nlMNodeMatrixRef
a pointer to an OSnLMNode object that is a simple matrix reference
bool idxAttributePresent
bool numbervalueattON
numbervalueattON is set to true if the value attribute has been parsed for an OSnLNodeNumber object...
std::string conTypeAttribute
void osnl_empty_vectors(OSnLParserData *osnlData)
std::string valueAttribute
std::vector< ExprNode * > productVec
the OSnLNodeProduct node can have any number of children, including other children with an indetermin...
bool numbertypeattON
numbertypeattON is set to true if the type attribute has been parsed for an OSnLNodeNumber object...
char * errorText
if the parser finds invalid text it is held here and we delete if the file was not valid ...
bool conTypeAttributePresent
bool matrixidxattON
matrixidxattON 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 solverAttributePresent
std::vector< ExprNode * > sumVec
the OSnLNodeSum node can have any number of children, including other children with an indeterminate ...
~OSnLParserData()
the OSnLParserData class destructor
std::string unitAttribute
int nlnodenumber
nlnodenumber is the number of nl nodes in the instance
bool varTypeAttributePresent
bool categoryAttributePresent
generic attributes
bool enumTypeAttributePresent
bool suppressFurtherErrorMessages
std::string nameAttribute
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 includeDiagonalAttribute
bool ignoreDataAfterErrors
two booleans to govern the behavior after an error has been encountered
The OSnLParserData Class.
bool numberidattON
numberidattON is set to true if the id attribute has been parsed for an OSnLNodeNumber object...
std::string objTypeAttribute
std::string typeAttribute
std::string varTypeAttribute
bool unitAttributePresent
bool shapeAttributePresent
std::vector< ExprNode * > matrixProductVec
the OSnLMNodeProduct node can have any number of children, including other children with an indetermi...
std::vector< ExprNode * > nlNodeVec
nlNodeVec holds a vector of pointers to OSnLNodes and OSnLMNodes In order to build the expression tre...
std::string ubValueAttribute