40 #include "lib/charbuf.h" 127 ErrorNode(
const char* input,
const char* message,
const char* parameter,
int pos);
139 static void StrCopyVisible(
char* destination,
const char* source);
ErrorNode(const char *input, const char *message, const char *parameter, int pos)
void Add(SyntaxNode *node)
StatementBlockElement * first
virtual ReductionType GetReductionType()
void Attach(SyntaxNode *node)
virtual void Detach(SyntaxNode *node)=0
Used to create a linked list of statements.
void Replace(SyntaxNode *n, SyntaxNode *x)
A sequence of statements in a syntax tree.
virtual void Attach(SyntaxNode *node)=0
Base class for all nodes in a syntax tree.
virtual char * GetTextCode()=0
virtual void Replace(SyntaxNode *n, SyntaxNode *x)=0
void Attach(SyntaxNode *node)
virtual char * GetNodeText()=0
bool GetFirstNode() const
ExpressionNode(Number *value)
virtual ~ExpressionNode()
virtual char * Execute()=0
void SetParent(SyntaxNode *node)
virtual void ResetIterator()
void Detach(SyntaxNode *node)
virtual NodeType GetNodeType()=0
virtual Number * Evaluate()=0
ErrorNode(const char *input, int pos)
SyntaxNode * GetParent() const
virtual int GetPrecedence()=0
Represents an error message encapsulated in a syntax tree.
virtual char * GetText()=0
static void StrCopyVisible(char *destination, const char *source)
void Replace(SyntaxNode *n, SyntaxNode *x)
virtual SyntaxNode * GetNext()=0
Base class for all nodes related to mathematical expressions.
void Detach(SyntaxNode *node)
Encapsulate an character array which can be used as a string.
StatementBlockElement * next