COPASI API
4.40.278
|
#include <CEvaluationNode.h>
Classes | |
class | CPrecedence |
Public Member Functions | |
void | addChildren (const std::vector< CEvaluationNode * > &children) |
std::string | buildBerkeleyMadonnaString () const |
std::string | buildCCodeString () const |
std::string | buildDisplayString () const |
std::string | buildInfix () const |
std::string | buildMMLString (bool expand, const std::vector< std::vector< std::string > > &variables) const |
std::string | buildXPPString () const |
virtual void | calculate () |
CEvaluationNode () | |
CEvaluationNode (const CEvaluationNode &src) | |
virtual CIssue | compile () |
CEvaluationNode * | copyBranch () const |
CEvaluationNode * | copyNode (CEvaluationNode *child1, CEvaluationNode *child2) const |
CEvaluationNode * | copyNode (const std::vector< CEvaluationNode * > &children) const |
const CEvaluationNode * | findTopMinus (const std::vector< CFunctionAnalyzer::CValue > &callParameters) const |
virtual std::string | getBerkeleyMadonnaString (const std::vector< std::string > &children) const |
virtual std::string | getCCodeString (const std::vector< std::string > &children) const |
virtual std::string | getDisplayString (const std::vector< std::string > &children) const |
virtual std::string | getInfix (const std::vector< std::string > &children) const |
virtual std::string | getMMLString (const std::vector< std::string > &children, bool expand, const std::vector< std::vector< std::string > > &variables) const |
const CEvaluationTree * | getTree () const |
virtual CValidatedUnit | getUnit (const CMathContainer &container, const std::vector< CValidatedUnit > &units) const |
const C_FLOAT64 * | getValuePointer () const |
const ValueType & | getValueType () const |
virtual std::string | getXPPString (const std::vector< std::string > &children) const |
virtual bool | isBoolean () const |
const MainType & | mainType () const |
bool | operator!= (const CEvaluationNode &right) const |
bool | operator< (const CEvaluationNode &rhs) |
bool | operator< (const CEvaluationNode &right) const |
bool | operator== (const CEvaluationNode &right) const |
void | printRecursively () const |
void | printRecursively (std::ostream &os, int indent=0) const |
void | setTree (const CEvaluationTree *pTree) |
virtual CValidatedUnit | setUnit (const CMathContainer &container, const std::map< CEvaluationNode *, CValidatedUnit > ¤tUnits, std::map< CEvaluationNode *, CValidatedUnit > &targetUnits) const |
virtual CIssue | setValueType (const ValueType &valueType) |
virtual CEvaluationNode * | simplifyNode (const std::vector< CEvaluationNode * > &children) const |
CEvaluationNode * | splitBranch (const CEvaluationNode *splitnode, bool left) const |
const SubType & | subType () const |
virtual ASTNode * | toAST (const CDataModel *pDataModel) const |
virtual | ~CEvaluationNode () |
Public Member Functions inherited from CCopasiNode< std::string > | |
virtual bool | addChild (CCopasiNode< Data > *pChild, CCopasiNode< Data > *pAfter=NULL) |
bool | addSibling (CCopasiNode< Data > *pSibling, CCopasiNode< Data > *pAfter=NULL) |
CCopasiNode (CCopasiNode< Data > *pParent=NULL) | |
CCopasiNode (const CCopasiNode< Data > &src) | |
CCopasiNode (const Data &data, CCopasiNode< Data > *pParent=NULL) | |
bool | deleteChildren () |
CCopasiNode< Data > * | getChild () |
const CCopasiNode< Data > * | getChild () const |
CCopasiNode< Data > * | getChild (const size_t &index) |
const CCopasiNode< Data > * | getChild (const size_t &index) const |
virtual Data & | getData () |
virtual const Data & | getData () const |
CCopasiNode< Data > * | getNext () |
const CCopasiNode< Data > * | getNext () const |
CCopasiNode< Data > * | getNextNonChild () |
const CCopasiNode< Data > * | getNextNonChild () const |
size_t | getNumChildren () const |
CCopasiNode< Data > * | getParent () |
const CCopasiNode< Data > * | getParent () const |
CCopasiNode< Data > * | getSibling () |
const CCopasiNode< Data > * | getSibling () const |
virtual bool | removeChild (CCopasiNode< Data > *pChild) |
virtual bool | setData (const Data &data) |
virtual | ~CCopasiNode () |
Static Public Member Functions | |
static CEvaluationNode * | create (const MainType &mainType, const SubType &subType, const std::string &data) |
static bool | isKeyword (const std::string &str) |
Static Public Attributes | |
static const CEnumAnnotation< std::string, MainType > | MainTypeName |
static const CEnumAnnotation< std::string, SubType > | SubTypeName |
Protected Member Functions | |
CEvaluationNode (const MainType &type, const SubType &subType, const Data &data) | |
Protected Member Functions inherited from CCopasiNode< std::string > | |
bool | setChild (CCopasiNode< Data > *pChild) |
bool | setParent (CCopasiNode< Data > *pParent) |
bool | setSibling (CCopasiNode< Data > *pSibling) |
Protected Attributes | |
MainType | mMainType |
class CEvaluationNode::CPrecedence | mPrecedence |
const CEvaluationTree * | mpTree |
const C_FLOAT64 * | mpValue |
SubType | mSubType |
C_FLOAT64 | mValue |
ValueType | mValueType |
Protected Attributes inherited from CCopasiNode< std::string > | |
Data | mData |
Static Private Attributes | |
static const char * | Keywords [] |
This is the base class for nodes used in an evaluation trees
|
strong |
|
strong |
|
strong |
CEvaluationNode::CEvaluationNode | ( | ) |
CEvaluationNode::CEvaluationNode | ( | const CEvaluationNode & | src | ) |
|
virtual |
Destructor
void CEvaluationNode::addChildren | ( | const std::vector< CEvaluationNode * > & | children | ) |
Add the children to the node
const | std::vector< CEvaluationNode * > & children |
References CCopasiNode< std::string >::addChild().
Referenced by CEvaluationNodeCall::fromAST().
std::string CEvaluationNode::buildBerkeleyMadonnaString | ( | ) | const |
Build the Berkeley Madonna string.
References CNodeContextIterator< Node, Context >::context(), CNodeContextIterator< Node, Context >::end(), CNodeContextIterator< Node, Context >::next(), and CNodeContextIterator< Node, Context >::parentContextPtr().
Referenced by CExpression::getBerkeleyMadonnaString(), CODEExporterBM::getDisplayExpressionString(), and CODEExporterBM::getDisplayFunctionString().
std::string CEvaluationNode::buildCCodeString | ( | ) | const |
Build the C-code string.
Build the C-code string.
References CNodeContextIterator< Node, Context >::context(), CNodeContextIterator< Node, Context >::end(), CNodeContextIterator< Node, Context >::next(), and CNodeContextIterator< Node, Context >::parentContextPtr().
Referenced by CODEExporterC::exportSingleFunction(), CExpression::getCCodeString(), and CODEExporterC::getDisplayExpressionString().
std::string CEvaluationNode::buildDisplayString | ( | ) | const |
Build the human readable display string.
References CNodeContextIterator< Node, Context >::context(), CNodeContextIterator< Node, Context >::end(), CNodeContextIterator< Node, Context >::next(), and CNodeContextIterator< Node, Context >::parentContextPtr().
Referenced by CExpression::compile().
std::string CEvaluationNode::buildInfix | ( | ) | const |
Build the infix string.
References CNodeContextIterator< Node, Context >::context(), CNodeContextIterator< Node, Context >::end(), CNodeContextIterator< Node, Context >::next(), and CNodeContextIterator< Node, Context >::parentContextPtr().
Referenced by CMathObject::appendDelays(), CExpression::compile(), CMathExpression::convertToInitialExpression(), CMathExpression::relocate(), CMathContainer::replaceDiscontinuousNode(), CEvaluationNodeOperator::simplifyNode(), CExpression::updateInfix(), and CEvaluationTree::updateTree().
std::string CEvaluationNode::buildMMLString | ( | bool | expand, |
const std::vector< std::vector< std::string > > & | variables | ||
) | const |
Build the MathML string
bool | expand = true |
const | std::vector< std::vector< std::string > > & variables |
References CNodeContextIterator< Node, Context >::context(), CNodeContextIterator< Node, Context >::end(), CNodeContextIterator< Node, Context >::next(), and CNodeContextIterator< Node, Context >::parentContextPtr().
Referenced by CFunction::writeMathML(), and CExpression::writeMathML().
std::string CEvaluationNode::buildXPPString | ( | ) | const |
Build the XPPAUT string.
References CNodeContextIterator< Node, Context >::context(), CNodeContextIterator< Node, Context >::end(), CNodeContextIterator< Node, Context >::next(), and CNodeContextIterator< Node, Context >::parentContextPtr().
Referenced by CODEExporterXPPAUT::getDisplayExpressionString(), CODEExporterXPPAUT::getDisplayFunctionString(), and CExpression::getXPPString().
|
inlinevirtual |
Retrieve the value of the node
Reimplemented in CEvaluationNodeVariable, CEvaluationNodeOperator, CEvaluationNodeLogical, CEvaluationNodeFunction, CEvaluationNodeChoice, and CEvaluationNodeCall.
|
virtual |
Compile a node;
Reimplemented in CEvaluationNodeVariable, CEvaluationNodeOperator, CEvaluationNodeObject, CEvaluationNodeLogical, CEvaluationNodeFunction, CEvaluationNodeDelay, CEvaluationNodeChoice, and CEvaluationNodeCall.
References CIssue::Success.
Referenced by CDerive::compileTree(), CDerive::deriveBranch(), and CEvaluationNodeDelay::fromAST().
CEvaluationNode * CEvaluationNode::copyBranch | ( | ) | const |
Copy the whole branch with this node as root.
References CNodeContextIterator< Node, Context >::context(), CNodeContextIterator< Node, Context >::end(), CNodeContextIterator< Node, Context >::next(), and CNodeContextIterator< Node, Context >::parentContextPtr().
Referenced by CODEExporter::assembleSubTreeForMassAction(), CMathExpression::copy(), CDerive::copyBranch_var2obj(), SBMLImporter::createCReactionFromReaction(), SBMLImporter::divideByObject(), CODEExporter::exportSingleFunction(), SBMLImporter::isMassActionExpression(), CSBMLExporter::multiplyByObject(), CSBMLExporter::replaceSpeciesReferences(), CReaction::setFunctionFromExpressionTree(), CEvaluationNodeFunction::simplifyNode(), CEvaluationNodeOperator::simplifyNode(), and splitBranch().
CEvaluationNode * CEvaluationNode::copyNode | ( | CEvaluationNode * | child1, |
CEvaluationNode * | child2 | ||
) | const |
Copy a node and assign new children child1 and child2
Referenced by CMathContainer::copyBranch(), CMathContainer::replaceDiscontinuousNode(), CSBMLExporter::replaceSpeciesReferences(), simplifyNode(), CEvaluationNodeFunction::simplifyNode(), CEvaluationNodeOperator::simplifyNode(), and splitBranch().
CEvaluationNode * CEvaluationNode::copyNode | ( | const std::vector< CEvaluationNode * > & | children | ) | const |
Copy a node and assign new children in the vector
References CCopasiNode< _Data >::addChild(), create(), CCopasiNode< std::string >::getData(), mMainType, and mSubType.
|
static |
Creates an evaluation node of type with the given data
const | MainType & mainType |
const | SubType & subType |
const | std::string & data |
References __SIZE, CALL, CEvaluationNode(), CHOICE, CONSTANT, DELAY, FUNCTION, INVALID, LOGICAL, mainType(), MV_FUNCTION, NUMBER, OBJECT, OPERATOR, STRUCTURE, subType(), UNIT, VARIABLE, VECTOR, and WHITESPACE.
Referenced by CODEExporter::assembleSubTreeForMassAction(), copyNode(), CODEExporter::modifyTreeForMassAction(), CEvaluationNodeFunction::simplifyNode(), CEvaluationNodeOperator::simplifyNode(), and SBMLImporter::variables2objects().
const CEvaluationNode * CEvaluationNode::findTopMinus | ( | const std::vector< CFunctionAnalyzer::CValue > & | callParameters | ) | const |
Find a minus operator in the tree that is suitable for splitting with splitBranch(). Specifically it is a minus operator that is connected with the root node by multiplication or division nodes only. For the division nodes only the left child is considered.
References CNodeIteratorMode::After, CNodeIteratorMode::Before, CNodeContextIterator< Node, Context >::context(), DIVIDE, CNodeContextIterator< Node, Context >::end(), CFunctionAnalyzer::evaluateNode(), CFunctionAnalyzer::CValue::isPositive(), MINUS, MULTIPLY, CNodeContextIterator< Node, Context >::next(), CFunctionAnalyzer::NOOBJECT, OPERATOR, CNodeContextIterator< Node, Context >::parentContextPtr(), CNodeContextIterator< Node, Context >::processingMode(), CNodeContextIterator< Node, Context >::setProcessingModes(), and CNodeContextIterator< Node, Context >::skipChildren().
Referenced by CFunction::splitFunction().
|
virtual |
Retrieve the display string of the node and its eventual child nodes in Berkeley Madonna format.
Reimplemented in CEvaluationNodeOperator, CEvaluationNodeObject, CEvaluationNodeLogical, CEvaluationNodeFunction, CEvaluationNodeDelay, CEvaluationNodeChoice, CEvaluationNodeCall, CEvaluationNodeVector, CEvaluationNodeUnit, and CEvaluationNodeConstant.
References CCopasiNode< std::string >::mData.
|
virtual |
Retrieve the display string of the node and its eventual child nodes in C.
Reimplemented in CEvaluationNodeOperator, CEvaluationNodeObject, CEvaluationNodeLogical, CEvaluationNodeFunction, CEvaluationNodeDelay, CEvaluationNodeChoice, CEvaluationNodeCall, CEvaluationNodeVector, CEvaluationNodeUnit, CEvaluationNodeNumber, and CEvaluationNodeConstant.
References CCopasiNode< std::string >::mData.
|
virtual |
Retrieve the display string of the node and its eventual child nodes.
Reimplemented in CEvaluationNodeOperator, CEvaluationNodeObject, CEvaluationNodeLogical, CEvaluationNodeFunction, CEvaluationNodeDelay, CEvaluationNodeChoice, CEvaluationNodeCall, and CEvaluationNodeVector.
References CCopasiNode< std::string >::mData.
|
virtual |
Retrieve the infix value of the node and its eventual child nodes.
Reimplemented in CEvaluationNodeOperator, CEvaluationNodeObject, CEvaluationNodeLogical, CEvaluationNodeFunction, CEvaluationNodeDelay, CEvaluationNodeChoice, CEvaluationNodeCall, and CEvaluationNodeVector.
References CCopasiNode< std::string >::mData.
|
virtual |
Build the MathML string
const | std::vector< std::string > & children |
bool | expand = true |
const | std::vector< std::vector< std::string > > & variables |
Reimplemented in CEvaluationNodeVariable, CEvaluationNodeOperator, CEvaluationNodeObject, CEvaluationNodeLogical, CEvaluationNodeFunction, CEvaluationNodeDelay, CEvaluationNodeChoice, CEvaluationNodeCall, CEvaluationNodeUnit, CEvaluationNodeNumber, and CEvaluationNodeConstant.
const CEvaluationTree * CEvaluationNode::getTree | ( | ) | const |
References CCopasiNode< _Data >::getParent(), and mpTree.
Referenced by CEvaluationNodeObject::compile(), and CEvaluationNodeVariable::compile().
|
virtual |
Figure out the appropriate CUnit to use, based on the child nodes. This sets the default, appropriate for many cases, as Dimensionless
const | CMathContainer & container |
const | std::vector< CValidatedUnit > & units |
Reimplemented in CEvaluationNodeVariable, CEvaluationNodeOperator, CEvaluationNodeObject, CEvaluationNodeLogical, CEvaluationNodeFunction, CEvaluationNodeDelay, CEvaluationNodeChoice, CEvaluationNodeCall, CEvaluationNodeVector, and CEvaluationNodeUnit.
References CBaseUnit::dimensionless.
const C_FLOAT64 * CEvaluationNode::getValuePointer | ( | ) | const |
Retrieve the pointer to the value of the node
References mpValue.
Referenced by CDerive::add(), CEvaluationNodeChoice::compile(), CEvaluationNodeDelay::compile(), CEvaluationNodeFunction::compile(), CEvaluationNodeLogical::compile(), CEvaluationNodeOperator::compile(), CEvaluationTree::compileNodes(), CMathExpression::convertToInitialExpression(), CEvaluationNodeFunction::fromAST(), CEvaluationNodeOperator::getUnit(), SBMLImporter::isMassActionExpression(), CDerive::isOne(), CDerive::isZero(), CEvaluationTree::mapObjectNodes(), CEvaluationTree::parse(), CEvaluationNodeOperator::setUnit(), CEvaluationNodeFunction::simplifyNode(), CEvaluationNodeOperator::simplifyNode(), CDerive::subtract(), and CEvaluationTree::updateTree().
const CEvaluationNode::ValueType & CEvaluationNode::getValueType | ( | ) | const |
Retrieve the value type of the node
References mValueType.
Referenced by CEvaluationNodeChoice::compile(), and CEvaluationNodeLogical::compile().
|
virtual |
Retrieve the display string of the node and its eventual child nodes in XPPAUT format.
Reimplemented in CEvaluationNodeOperator, CEvaluationNodeObject, CEvaluationNodeLogical, CEvaluationNodeFunction, CEvaluationNodeDelay, CEvaluationNodeChoice, CEvaluationNodeCall, CEvaluationNodeVector, CEvaluationNodeUnit, and CEvaluationNodeConstant.
References CCopasiNode< std::string >::mData.
|
virtual |
Check whether the result is Boolean
Reimplemented in CEvaluationNodeCall.
References Boolean, and mValueType.
Referenced by CMathEvent::CTrigger::compileEQ(), CMathEvent::CTrigger::countRootsEQ(), and CEvaluationTree::isBoolean().
|
static |
Check whether the string is a keyword
const | std::string & str |
References Keywords.
Referenced by CEvaluationNodeCall::getData(), and CEvaluationNodeCall::setData().
const CEvaluationNode::MainType & CEvaluationNode::mainType | ( | ) | const |
Retrieve the type part of type
References mMainType.
Referenced by SBMLImporter::areEqualSubtrees(), CODEExporter::assembleSubTreeForMassAction(), CSBMLExporter::checkForPiecewiseFunctions(), CSBMLExporter::checkForUnsupportedFunctionCalls(), CSBMLExporter::checkForUnsupportedObjectReferences(), create(), SBMLImporter::createCReactionFromReaction(), CMathContainer::createDiscontinuityTriggerInfix(), CSBMLExporter::createEvent(), CSBMLExporter::createInitialAssignment(), CSBMLExporter::createRule(), SBMLImporter::divideByObject(), CSBMLExporter::exportEventAssignments(), CSBMLExporter::findDirectlyUsedFunctions(), CSBMLExporter::findModelEntityDependencies(), CEvaluationNodeFunction::fromAST(), CEvaluationNodeFunction::getMMLString(), CEvaluationNodeOperator::getMMLString(), CEvaluationNodeFunction::handleNot(), CEvaluationNodeFunction::handleSign(), SBMLImporter::isConstantFlux(), CSBMLExporter::isEventAssignmentSBMLCompatible(), SBMLImporter::isMassAction(), SBMLImporter::isMassActionExpression(), CMathObject::isPrerequisiteForContext(), CSBMLExporter::multiplyByObject(), operator<(), CSBMLExporter::replaceSpeciesReferences(), CSBMLExporter::setFunctionSBMLIds(), CEvaluationNodeFunction::simplifyNode(), CEvaluationNodeOperator::simplifyNode(), CReaction::variables2objects(), and SBMLImporter::variables2objects().
bool CEvaluationNode::operator!= | ( | const CEvaluationNode & | right | ) | const |
Unequal operator, compares two CEvaluationNode objects and return true if they are equal.
bool CEvaluationNode::operator< | ( | const CEvaluationNode & | rhs | ) |
Comparison operator used to evaluate the precedence of the node. it compares the right precedence of the left node with the left precedence of the right node.
const | CEvaluationNode & rhs; |
References CEvaluationNode::CPrecedence::left, mPrecedence, and CEvaluationNode::CPrecedence::right.
bool CEvaluationNode::operator< | ( | const CEvaluationNode & | right | ) | const |
Less operator, compares two CEvaluationNode objects and return true if the first operand is smaller than the second.
References __SIZE, CALL, CHOICE, CONSTANT, DELAY, FUNCTION, CCopasiNode< _Data >::getChild(), CCopasiNode< std::string >::getChild(), CCopasiNode< std::string >::getData(), CCopasiNode< _Data >::getData(), CCopasiNode< _Data >::getSibling(), INVALID, LOGICAL, mainType(), MV_FUNCTION, NUMBER, OBJECT, OPERATOR, STRUCTURE, subType(), VARIABLE, VECTOR, and WHITESPACE.
bool CEvaluationNode::operator== | ( | const CEvaluationNode & | right | ) | const |
Equals operator, compares two CEvaluationNode objects and return true if they are equal.
References CNodeContextIterator< Node, Context >::end(), and CNodeContextIterator< Node, Context >::next().
void CEvaluationNode::printRecursively | ( | ) | const |
Referenced by printRecursively().
void CEvaluationNode::printRecursively | ( | std::ostream & | os, |
int | indent = 0 |
||
) | const |
void CEvaluationNode::setTree | ( | const CEvaluationTree * | pTree | ) |
References mpTree.
Referenced by CEvaluationTree::parse(), and CEvaluationTree::setRoot().
|
virtual |
Set the unit for the node and return the resulting unit. The child node units are added to the map
const | CMathContainer & container |
const | std::map < CEvaluationNode * , CValidatedUnit > & currentUnits |
std::map | < CEvaluationNode * , CValidatedUnit > & targetUnits |
Reimplemented in CEvaluationNodeOperator, CEvaluationNodeLogical, CEvaluationNodeFunction, CEvaluationNodeDelay, CEvaluationNodeChoice, CEvaluationNodeCall, and CEvaluationNodeVector.
References CValidatedUnit::conflict(), CCopasiNode< std::string >::getChild(), CValidatedUnit::merge(), and CValidatedUnit::setConflict().
Referenced by CEvaluationNodeVector::setUnit(), CEvaluationNodeCall::setUnit(), CEvaluationNodeChoice::setUnit(), CEvaluationNodeDelay::setUnit(), CEvaluationNodeFunction::setUnit(), CEvaluationNodeLogical::setUnit(), and CEvaluationNodeOperator::setUnit().
Set the type the result of the node
const | ValueType & valueType |
Reimplemented in CEvaluationNodeVariable, CEvaluationNodeChoice, and CEvaluationNodeCall.
References CIssue::Error, mValueType, CIssue::Success, and CIssue::ValueTypeMismatch.
Referenced by CEvaluationNodeChoice::compile(), CEvaluationNodeFunction::compile(), CEvaluationNodeLogical::compile(), CEvaluationNodeOperator::compile(), CEvaluationTree::setTree(), CEvaluationNodeCall::setValueType(), CEvaluationNodeChoice::setValueType(), and CEvaluationNodeVariable::setValueType().
|
virtual |
Create a simplified node from the original node with children child1 and child2 (if not exist, = NULL)
Reimplemented in CEvaluationNodeOperator, and CEvaluationNodeFunction.
References copyNode().
Referenced by CEvaluationNodeOperator::simplifyNode().
CEvaluationNode * CEvaluationNode::splitBranch | ( | const CEvaluationNode * | splitnode, |
bool | left | ||
) | const |
Split the tree in two parts at the given splitnode, starting from *this. Returned is the root node of a copy of the tree, including everything above the split node and either the branch below the left child of the split node or the branch below the right child of the split node. The split node itself is not included either case.
References copyBranch(), copyNode(), CCopasiNode< std::string >::getChild(), CCopasiNode< _Data >::getSibling(), and splitBranch().
Referenced by splitBranch(), and CFunction::splitFunction().
const CEvaluationNode::SubType & CEvaluationNode::subType | ( | ) | const |
Retrieve the subtype part of type
References mSubType.
Referenced by SBMLImporter::areEqualSubtrees(), CEvaluationNodeCall::CEvaluationNodeCall(), CEvaluationNodeChoice::CEvaluationNodeChoice(), CEvaluationNodeConstant::CEvaluationNodeConstant(), CEvaluationNodeDelay::CEvaluationNodeDelay(), CEvaluationNodeFunction::CEvaluationNodeFunction(), CEvaluationNodeNumber::CEvaluationNodeNumber(), CEvaluationNodeObject::CEvaluationNodeObject(), CEvaluationNodeStructure::CEvaluationNodeStructure(), CEvaluationNodeVector::CEvaluationNodeVector(), CSBMLExporter::checkForUnsupportedFunctionCalls(), CMathEvent::CTrigger::compileAND(), CMathEvent::CTrigger::compileLE(), create(), CMathContainer::createDiscontinuityTriggerInfix(), CEvaluationNodeOperator::createModuloTree(), CDerive::deriveBranch(), SBMLImporter::divideByObject(), CEvaluationNodeCall::fromAST(), CEvaluationNodeChoice::fromAST(), CEvaluationNodeConstant::fromAST(), CEvaluationNodeDelay::fromAST(), CEvaluationNodeFunction::fromAST(), CEvaluationNodeLogical::fromAST(), CEvaluationNodeNumber::fromAST(), CEvaluationNodeOperator::fromAST(), CEvaluationNodeConstant::getBerkeleyMadonnaString(), CEvaluationNodeFunction::getBerkeleyMadonnaString(), CEvaluationNodeLogical::getBerkeleyMadonnaString(), CEvaluationNodeConstant::getCCodeString(), CEvaluationNodeFunction::getCCodeString(), CEvaluationNodeLogical::getCCodeString(), CEvaluationNodeOperator::getCCodeString(), CEvaluationNodeConstant::getMMLString(), CEvaluationNodeFunction::getMMLString(), CEvaluationNodeLogical::getMMLString(), CEvaluationNodeOperator::getMMLString(), CEvaluationNodeFunction::getUnit(), CEvaluationNodeConstant::getXPPString(), CEvaluationNodeFunction::getXPPString(), CEvaluationNodeLogical::getXPPString(), CEvaluationNodeOperator::getXPPString(), CEvaluationNodeFunction::handleSign(), SBMLImporter::isMassActionExpression(), CMathObject::isPrerequisiteForContext(), CSBMLExporter::multiplyByObject(), operator<(), CSBMLExporter::replaceSpeciesReferences(), SBMLImporter::separateProductArguments(), CEvaluationNodeFunction::setUnit(), CEvaluationNodeFunction::simplifyNode(), CEvaluationNodeOperator::simplifyNode(), CEvaluationNodeConstant::toAST(), CEvaluationNodeNumber::toAST(), CEvaluationNodeFunction::toAST(), CEvaluationNodeLogical::toAST(), CEvaluationNodeOperator::toAST(), CReaction::variables2objects(), and SBMLImporter::variables2objects().
|
virtual |
Create a new invalid ASTNode.
Reimplemented in CEvaluationNodeVariable, CEvaluationNodeOperator, CEvaluationNodeObject, CEvaluationNodeLogical, CEvaluationNodeFunction, CEvaluationNodeDelay, CEvaluationNodeChoice, CEvaluationNodeCall, CEvaluationNodeWhiteSpace, CEvaluationNodeVector, CEvaluationNodeUnit, CEvaluationNodeStructure, CEvaluationNodeNumber, and CEvaluationNodeConstant.
Referenced by CSBMLExporter::convertToASTNode(), CEvaluationNodeOperator::createModuloTree(), CEvaluationTree::toAST(), CEvaluationNodeCall::toAST(), CEvaluationNodeChoice::toAST(), CEvaluationNodeDelay::toAST(), CEvaluationNodeFunction::toAST(), CEvaluationNodeLogical::toAST(), CEvaluationNodeObject::toAST(), and CEvaluationNodeOperator::toAST().
|
staticprivate |
A list of reserved key words
Referenced by isKeyword().
|
static |
Referenced by printRecursively().
|
protected |
The type the node
Referenced by CEvaluationNodeCall::compile(), copyNode(), mainType(), and printRecursively().
|
protected |
Referenced by CEvaluationNodeCall::CEvaluationNodeCall(), CEvaluationNodeChoice::CEvaluationNodeChoice(), CEvaluationNodeConstant::CEvaluationNodeConstant(), CEvaluationNodeDelay::CEvaluationNodeDelay(), CEvaluationNodeFunction::CEvaluationNodeFunction(), CEvaluationNodeLogical::CEvaluationNodeLogical(), CEvaluationNodeNumber::CEvaluationNodeNumber(), CEvaluationNodeObject::CEvaluationNodeObject(), CEvaluationNodeOperator::CEvaluationNodeOperator(), CEvaluationNodeStructure::CEvaluationNodeStructure(), CEvaluationNodeUnit::CEvaluationNodeUnit(), CEvaluationNodeVariable::CEvaluationNodeVariable(), CEvaluationNodeVector::CEvaluationNodeVector(), and operator<().
|
protected |
|
protected |
A pointer to the numerical value of the node
Referenced by CEvaluationNode(), CEvaluationNodeObject::CEvaluationNodeObject(), CEvaluationNodeObject::compile(), CEvaluationNodeNumber::getCCodeString(), CEvaluationNodeObject::getObjectValuePtr(), CEvaluationNodeObject::getUnit(), getValuePointer(), CEvaluationNodeObject::mapObject(), CEvaluationNodeObject::setObjectValuePtr(), and CEvaluationNodeNumber::toAST().
|
protected |
The type the node
Referenced by CEvaluationNodeLogical::calculate(), CEvaluationNodeConstant::CEvaluationNodeConstant(), CEvaluationNodeFunction::CEvaluationNodeFunction(), CEvaluationNodeLogical::CEvaluationNodeLogical(), CEvaluationNodeObject::CEvaluationNodeObject(), CEvaluationNodeOperator::CEvaluationNodeOperator(), CEvaluationNodeCall::compile(), CEvaluationNodeDelay::compile(), CEvaluationNodeLogical::compile(), CEvaluationNodeObject::compile(), copyNode(), CEvaluationNodeDelay::getBerkeleyMadonnaString(), CEvaluationNodeFunction::getBerkeleyMadonnaString(), CEvaluationNodeCall::getCalledTree(), CEvaluationNodeCall::getCCodeString(), CEvaluationNodeDelay::getCCodeString(), CEvaluationNodeFunction::getCCodeString(), CEvaluationNodeObject::getData(), CEvaluationNodeCall::getDisplayString(), CEvaluationNodeDelay::getDisplayString(), CEvaluationNodeFunction::getDisplayString(), CEvaluationNodeOperator::getDisplayString(), CEvaluationNodeCall::getInfix(), CEvaluationNodeDelay::getInfix(), CEvaluationNodeFunction::getInfix(), CEvaluationNodeObject::getInfix(), CEvaluationNodeOperator::getInfix(), CEvaluationNodeCall::getMMLString(), CEvaluationNodeDelay::getMMLString(), CEvaluationNodeFunction::getMMLString(), CEvaluationNodeOperator::getMMLString(), CEvaluationNodeCall::getUnit(), CEvaluationNodeLogical::getUnit(), CEvaluationNodeOperator::getUnit(), CEvaluationNodeDelay::getXPPString(), CEvaluationNodeFunction::getXPPString(), printRecursively(), CEvaluationNodeObject::setData(), CEvaluationNodeObject::setObjectValuePtr(), CEvaluationNodeCall::setUnit(), CEvaluationNodeLogical::setUnit(), CEvaluationNodeOperator::setUnit(), CEvaluationNodeFunction::simplifyNode(), CEvaluationNodeOperator::simplifyNode(), and subType().
|
protected |
The numerical value of the node
Referenced by CEvaluationNodeCall::calculate(), CEvaluationNodeChoice::calculate(), CEvaluationNodeFunction::calculate(), CEvaluationNodeLogical::calculate(), CEvaluationNodeVariable::calculate(), CEvaluationNode(), CEvaluationNodeConstant::CEvaluationNodeConstant(), CEvaluationNodeDelay::CEvaluationNodeDelay(), CEvaluationNodeNumber::CEvaluationNodeNumber(), CEvaluationNodeUnit::CEvaluationNodeUnit(), CEvaluationNodeObject::compile(), CEvaluationNodeConstant::getBerkeleyMadonnaString(), CEvaluationNodeConstant::getXPPString(), CEvaluationNodeObject::mapObject(), printRecursively(), CEvaluationNodeOperator::s_divide(), CEvaluationNodeOperator::s_invalid(), CEvaluationNodeOperator::s_minus(), CEvaluationNodeOperator::s_modulus(), CEvaluationNodeOperator::s_multiply(), CEvaluationNodeOperator::s_plus(), CEvaluationNodeOperator::s_power(), CEvaluationNodeOperator::s_remainder(), and CEvaluationNodeObject::setObjectValuePtr().
|
protected |
The value type of the node
Referenced by CEvaluationNodeConstant::CEvaluationNodeConstant(), CEvaluationNodeDelay::CEvaluationNodeDelay(), CEvaluationNodeFunction::CEvaluationNodeFunction(), CEvaluationNodeLogical::CEvaluationNodeLogical(), CEvaluationNodeNumber::CEvaluationNodeNumber(), CEvaluationNodeObject::CEvaluationNodeObject(), CEvaluationNodeOperator::CEvaluationNodeOperator(), CEvaluationNodeUnit::CEvaluationNodeUnit(), CEvaluationNodeCall::compile(), CEvaluationNodeFunction::compile(), getValueType(), isBoolean(), setValueType(), CEvaluationNodeCall::setValueType(), and CEvaluationNodeVariable::setValueType().
|
static |
Referenced by printRecursively().