libSBML C API  5.18.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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"
}