2 #ifndef _MADARA_EVALUATION_VISITOR_H_ 3 #define _MADARA_EVALUATION_VISITOR_H_ 22 class EvaluationVisitor :
public Visitor
29 virtual void visit (
const LeafNode &node);
35 virtual void visit (
const VariableNode &node);
41 virtual void visit (
const VariableDecrementNode &node);
47 virtual void visit (
const VariableDivideNode &node);
53 virtual void visit (
const VariableIncrementNode &node);
59 virtual void visit (
const VariableMultiplyNode &node);
65 virtual void visit (
const VariableCompareNode &node);
71 virtual void visit (
const ListNode &node);
77 virtual void visit (
const CompositeNegateNode &node);
83 virtual void visit (
const CompositePredecrementNode &node);
89 virtual void visit (
const CompositePreincrementNode &node);
95 virtual void visit (
const CompositeNotNode &node);
101 virtual void visit (
const CompositeAddNode &node);
107 virtual void visit (
const CompositeAssignmentNode &node);
114 virtual void visit (
const CompositeAndNode &node);
120 virtual void visit (
const CompositeOrNode &node);
126 virtual void visit (
const CompositeEqualityNode &node);
132 virtual void visit (
const CompositeInequalityNode &node);
138 virtual void visit (
const CompositeGreaterThanEqualNode &node);
144 virtual void visit (
const CompositeGreaterThanNode &node);
150 virtual void visit (
const CompositeLessThanEqualNode &node);
156 virtual void visit (
const CompositeLessThanNode &node);
162 virtual void visit (
const CompositeSubtractNode &node);
168 virtual void visit (
const CompositeDivideNode &node);
174 virtual void visit (
const CompositeMultiplyNode &node);
180 virtual void visit (
const CompositeModulusNode &node);
186 virtual void visit (
const CompositeBothNode &node);
192 virtual void visit (
const CompositeSequentialNode &node);
198 virtual void visit (
const CompositeFunctionNode &node);
204 virtual void visit (
const CompositeForLoop &node);
210 virtual void visit (
const CompositeImpliesNode &node);
230 #endif // _USE_VISITORS_
Defines a generic "last-in/first-out" (LIFO) Abstract Data Type (ADT) using a stack that's implemente...
Copyright (c) 2015 Carnegie Mellon University.