MADARA  3.4.1
EvaluationVisitor.h
Go to the documentation of this file.
1 /* -*- C++ -*- */
2 #ifndef _MADARA_EVALUATION_VISITOR_H_
3 #define _MADARA_EVALUATION_VISITOR_H_
4 
5 #ifdef _USE_VISITORS_
6 
10 
11 namespace madara
12 {
13 namespace expression
14 {
22 class EvaluationVisitor : public Visitor
23 {
24 public:
29  virtual void visit(const LeafNode& node);
30 
35  virtual void visit(const VariableNode& node);
36 
41  virtual void visit(const VariableDecrementNode& node);
42 
47  virtual void visit(const VariableDivideNode& node);
48 
53  virtual void visit(const VariableIncrementNode& node);
54 
59  virtual void visit(const VariableMultiplyNode& node);
60 
65  virtual void visit(const VariableCompareNode& node);
66 
71  virtual void visit(const ListNode& node);
72 
77  virtual void visit(const CompositeNegateNode& node);
78 
83  virtual void visit(const CompositePredecrementNode& node);
84 
89  virtual void visit(const CompositePreincrementNode& node);
90 
95  virtual void visit(const CompositeNotNode& node);
96 
101  virtual void visit(const CompositeAddNode& node);
102 
107  virtual void visit(const CompositeAssignmentNode& node);
108 
113  virtual void visit(const CompositeAndNode& node);
114 
119  virtual void visit(const CompositeOrNode& node);
120 
125  virtual void visit(const CompositeEqualityNode& node);
126 
131  virtual void visit(const CompositeInequalityNode& node);
132 
137  virtual void visit(const CompositeGreaterThanEqualNode& node);
138 
143  virtual void visit(const CompositeGreaterThanNode& node);
144 
149  virtual void visit(const CompositeLessThanEqualNode& node);
150 
155  virtual void visit(const CompositeLessThanNode& node);
156 
161  virtual void visit(const CompositeSubtractNode& node);
162 
167  virtual void visit(const CompositeDivideNode& node);
168 
173  virtual void visit(const CompositeMultiplyNode& node);
174 
179  virtual void visit(const CompositeModulusNode& node);
180 
185  virtual void visit(const CompositeBothNode& node);
186 
191  virtual void visit(const CompositeSequentialNode& node);
192 
197  virtual void visit(const CompositeFunctionNode& node);
198 
203  virtual void visit(const CompositeForLoop& node);
204 
209  virtual void visit(const CompositeImpliesNode& node);
210 
216 
220  void reset(void);
221 
222 private:
225 };
226 }
227 }
228 
229 #endif // _USE_VISITORS_
230 
231 #endif /* _MADARA_EVALUATION_VISITOR_H_ */
Defines a generic "last-in/first-out" (LIFO) Abstract Data Type (ADT) using a stack that's implemente...
Definition: LStack.h:30
Copyright(c) 2020 Galois.