35 #include "function/defs.h" 36 #include "function/user.h" 91 if (current ==
nullptr)
117 if (
first ==
nullptr)
126 while (current !=
nullptr)
147 while (current !=
nullptr)
163 if (systemFunction !=
nullptr)
166 return (systemFunction
->create)(parameter,
const_cast<
char*>(function), sysname);
175 if (current !=
nullptr)
195 if (
first ==
nullptr)
197 return static_cast<
char*>(cmdFormat ?
nullptr :
HELPFUNCNDEF);
203 while (current !=
nullptr)
210 len += cmdFormat ? 2 : 1;
218 while (current !=
nullptr)
247 for (
unsigned int i = 0; i < count; i++)
261 for (
unsigned int i = 0; i < count; i++)
269 return const_cast<
char*>(ident);
void Append(const char c)
UserFunction * GetFunctionDef(const char *name, const char *argument) const
Represents a mathematical function in a syntax tree.
ExpressionNode * GetExpression() const
UserFunction(const char *name)
UserFunction * GetFirstFunction() const
char * ListContent(bool cmdFormat) const
void ClearBuffer()
Release memory in buffer.
void Append(const char *source)
An expression node able to compute a function value.
CharBuffer()
Initialize without allocating memory.
bool StrIsEqual(const char *s1, const char *s2)
Compare two null terminated strings to each other.
Function definitions of known mathematical functions.
FunctionNode * GetFunctionCall(const char *function, ExpressionNode *value) const
Variable * GetVariable() const
CreateFunctionNode create
static const identalias identaliases[]
int StrLen(const char *string)
Get the length of a null terminated string.
virtual char * GetText()=0
static const functiondef functiondefs[]
static functiondef * GetSystemFunction(const char *ident)
Base class for all nodes related to mathematical expressions.
static char * FindAlias(const char *ident)
A list of user defined functions.
bool Delete(const char *name, const char *argument)
static bool IsSystemFunction(const char *name)
Encapsulate an character array which can be used as a string.
char * ListDefinitions() const
void EnsureSize(unsigned int size)
Ensure a memory block of specified size is allocated.
UserFunctionNode(UserFunction *function, ExpressionNode *parameter)
UserFunction * GetFunctionDef(const char *name)