libSBML C++ API  5.18.0
ASTNode.cpp File Reference

Abstract Syntax Tree (AST) for representing formula trees. More...

Include dependency graph for ASTNode.cpp:

Macros

#define ASTNodeType_isAvogadro(t)   (t == AST_NAME_AVOGADRO)
 ASTNodeType predicate. More...
 
#define ASTNodeType_isConstant(t)   (((t >= AST_CONSTANT_E) && (t <= AST_CONSTANT_TRUE)) || t == AST_NAME_AVOGADRO)
 ASTNodeType predicate. More...
 
#define ASTNodeType_isConstantNumber(t)   (t == AST_CONSTANT_E || t == AST_CONSTANT_PI || t == AST_NAME_AVOGADRO)
 ASTNodeType predicate. More...
 
#define ASTNodeType_isFunction(t)   (((t >= AST_FUNCTION) && (t <= AST_FUNCTION_TANH)) || t == AST_CSYMBOL_FUNCTION)
 ASTNodeType predicate. More...
 
#define ASTNodeType_isInteger(t)   (t == AST_INTEGER)
 ASTNodeType predicate. More...
 
#define ASTNodeType_isLambda(t)   (t == AST_LAMBDA)
 ASTNodeType predicate. More...
 
#define ASTNodeType_isLogical(t)   (((t >= AST_LOGICAL_AND) && (t <= AST_LOGICAL_XOR)))
 ASTNodeType predicate. More...
 
#define ASTNodeType_isName(t)   ((t >= AST_NAME) && (t <= AST_NAME_TIME))
 ASTNodeType predicate. More...
 
#define ASTNodeType_isNumber(t)   (ASTNodeType_isInteger(t) || ASTNodeType_isReal(t))
 ASTNodeType predicate. More...
 
#define ASTNodeType_isOperator(t)
 ASTNodeType predicate. More...
 
#define ASTNodeType_isRational(t)   (t == AST_RATIONAL)
 ASTNodeType predicate. More...
 
#define ASTNodeType_isReal(t)   ((t >= AST_REAL) && (t <= AST_RATIONAL))
 ASTNodeType predicate. More...
 
#define ASTNodeType_isRelational(t)   ((t >= AST_RELATIONAL_EQ) && (t <= AST_RELATIONAL_NEQ))
 ASTNodeType predicate. More...
 
#define ASTNodeType_isUnknown(t)   (t == AST_UNKNOWN)
 ASTNodeType predicate. More...
 

Variables

static const char * AST_CONSTANT_STRINGS []
 
static const char * AST_FUNCTION_STRINGS []
 
static const char * AST_LAMBDA_STRING = "lambda"
 String Constants. More...
 
static const char * AST_LOGICAL_STRINGS []
 
static const char * AST_OPERATOR_STRINGS []
 
static const char * AST_RELATIONAL_STRINGS []
 

Detailed Description

Abstract Syntax Tree (AST) for representing formula trees.

Author
Ben Bornstein

Macro Definition Documentation

#define ASTNodeType_isAvogadro (   t)    (t == AST_NAME_AVOGADRO)

ASTNodeType predicate.

#define ASTNodeType_isConstant (   t)    (((t >= AST_CONSTANT_E) && (t <= AST_CONSTANT_TRUE)) || t == AST_NAME_AVOGADRO)

ASTNodeType predicate.

#define ASTNodeType_isConstantNumber (   t)    (t == AST_CONSTANT_E || t == AST_CONSTANT_PI || t == AST_NAME_AVOGADRO)

ASTNodeType predicate.

#define ASTNodeType_isFunction (   t)    (((t >= AST_FUNCTION) && (t <= AST_FUNCTION_TANH)) || t == AST_CSYMBOL_FUNCTION)

ASTNodeType predicate.

#define ASTNodeType_isInteger (   t)    (t == AST_INTEGER)

ASTNodeType predicate.

#define ASTNodeType_isLambda (   t)    (t == AST_LAMBDA)

ASTNodeType predicate.

#define ASTNodeType_isLogical (   t)    (((t >= AST_LOGICAL_AND) && (t <= AST_LOGICAL_XOR)))

ASTNodeType predicate.

#define ASTNodeType_isName (   t)    ((t >= AST_NAME) && (t <= AST_NAME_TIME))

ASTNodeType predicate.

#define ASTNodeType_isNumber (   t)    (ASTNodeType_isInteger(t) || ASTNodeType_isReal(t))

ASTNodeType predicate.

#define ASTNodeType_isOperator (   t)
Value:
( ( t == AST_PLUS ) || \
( t == AST_MINUS ) || \
( t == AST_TIMES ) || \
( t == AST_DIVIDE ) || \
( t == AST_POWER ) )
Definition: ASTNodeType.h:78
Definition: ASTNodeType.h:80
Definition: ASTNodeType.h:81
Definition: ASTNodeType.h:79
Definition: ASTNodeType.h:82

ASTNodeType predicate.

#define ASTNodeType_isRational (   t)    (t == AST_RATIONAL)

ASTNodeType predicate.

#define ASTNodeType_isReal (   t)    ((t >= AST_REAL) && (t <= AST_RATIONAL))

ASTNodeType predicate.

#define ASTNodeType_isRelational (   t)    ((t >= AST_RELATIONAL_EQ) && (t <= AST_RELATIONAL_NEQ))

ASTNodeType predicate.

#define ASTNodeType_isUnknown (   t)    (t == AST_UNKNOWN)

ASTNodeType predicate.

Variable Documentation

const char* AST_CONSTANT_STRINGS[]
static
Initial value:
=
{
"exponentiale"
, "false"
, "pi"
, "true"
, "avogadro"
}
const char* AST_FUNCTION_STRINGS[]
static
const char* AST_LAMBDA_STRING = "lambda"
static

String Constants.

const char* AST_LOGICAL_STRINGS[]
static
Initial value:
=
{
"and"
, "not"
, "or"
, "xor"
}
const char* AST_OPERATOR_STRINGS[]
static
Initial value:
=
{
"divide"
, "minus"
, "plus"
, "times"
, "power"
}
const char* AST_RELATIONAL_STRINGS[]
static
Initial value:
=
{
"eq"
, "geq"
, "gt"
, "leq"
, "lt"
, "neq"
}