6 #ifndef GDCORE_EXPRESSIONPARSER2NODEWORKER_H
7 #define GDCORE_EXPRESSIONPARSER2NODEWORKER_H
10 struct ExpressionNode;
11 struct SubExpressionNode;
13 struct UnaryOperatorNode;
17 struct VariableAccessorNode;
18 struct VariableBracketAccessorNode;
19 struct IdentifierOrFunctionCallOrObjectFunctionNameOrEmptyNode;
20 struct IdentifierNode;
21 struct FunctionCallOrObjectFunctionNameOrEmptyNode;
22 struct ObjectFunctionNameNode;
23 struct FunctionCallNode;
58 virtual void OnVisitOperatorNode(
OperatorNode& node) = 0;
60 virtual void OnVisitNumberNode(
NumberNode& node) = 0;
61 virtual void OnVisitTextNode(
TextNode& node) = 0;
62 virtual void OnVisitVariableNode(
VariableNode& node) = 0;
64 virtual void OnVisitVariableBracketAccessorNode(
69 virtual void OnVisitEmptyNode(
EmptyNode& node) = 0;
The interface for any worker class ("visitor" pattern) that want to interact with the nodes of a pars...
Definition: ExpressionParser2NodeWorker.h:36
Definition: CommonTools.h:24
An empty node, used when parsing failed/a syntax error was encountered and any other node could not m...
Definition: ExpressionParser2Node.h:416
The base node, from which all nodes in the tree of an expression inherits from.
Definition: ExpressionParser2Node.h:93
A function call node (either free function, object function or object behavior function)....
Definition: ExpressionParser2Node.h:364
Definition: ExpressionParser2Node.h:228
An identifier node, usually representing an object or a variable with an optional function name or ch...
Definition: ExpressionParser2Node.h:197
Definition: ExpressionParser2Node.h:181
A number node. For example: "123". Its type is always "number".
Definition: ExpressionParser2Node.h:154
The name of a function to call on an object or the behavior For example: "MyObject....
Definition: ExpressionParser2Node.h:314
An operator node. For example: "lhs + rhs".
Definition: ExpressionParser2Node.h:122
Definition: ExpressionParser2Node.h:108
A text node. For example: "Hello World". Its type is always "string".
Definition: ExpressionParser2Node.h:170
A unary operator node. For example: "-2".
Definition: ExpressionParser2Node.h:138
A direct accessor to a child variable. Example: MyChild in MyVariable.MyChild.
Definition: ExpressionParser2Node.h:275
A bracket accessor to a child variable. Example: ["MyChild"] (in MyVariable["MyChild"]).
Definition: ExpressionParser2Node.h:293
A variable, or object variable, with bracket accessor or at least 2 "dot" accessors.
Definition: ExpressionParser2Node.h:254