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);
113 virtual void visit(
const CompositeAndNode& node);
119 virtual void visit(
const CompositeOrNode& node);
125 virtual void visit(
const CompositeEqualityNode& node);
131 virtual void visit(
const CompositeInequalityNode& node);
137 virtual void visit(
const CompositeGreaterThanEqualNode& node);
143 virtual void visit(
const CompositeGreaterThanNode& node);
149 virtual void visit(
const CompositeLessThanEqualNode& node);
155 virtual void visit(
const CompositeLessThanNode& node);
161 virtual void visit(
const CompositeSubtractNode& node);
167 virtual void visit(
const CompositeDivideNode& node);
173 virtual void visit(
const CompositeMultiplyNode& node);
179 virtual void visit(
const CompositeModulusNode& node);
185 virtual void visit(
const CompositeBothNode& node);
191 virtual void visit(
const CompositeSequentialNode& node);
197 virtual void visit(
const CompositeFunctionNode& node);
203 virtual void visit(
const CompositeForLoop& node);
209 virtual void visit(
const CompositeImpliesNode& node);
Defines a generic "last-in/first-out" (LIFO) Abstract Data Type (ADT) using a stack that's implemente...
Copyright(c) 2020 Galois.