/* * Visitor.h * * Created on: Dec 17, 2012 * Author: att */ #ifndef VISITOR_H_ #define VISITOR_H_ #include class Visitable; class Visitor { public: Visitor(); virtual void visit(Visitable * node) = 0; virtual ~Visitor(); }; class Visitable { public: std::string type; Visitable(); virtual void accept(Visitor * visitor) = 0; virtual ~Visitable(); }; #endif /* VISITOR_H_ */