#ifndef VISITOR_HH #define VISITOR_HH #include "ast.hh" namespace ast { class Visitor{ protected: Visitor() {}; virtual ~Visitor() {}; public: virtual void visit (BinRelLT <) {}; virtual void visit (BinRelLTE <e) {}; virtual void visit (BinRelGT >) {}; virtual void visit (BinRelGTE >e) {}; virtual void visit (BinRelEQ &eq) {}; virtual void visit (BinRelNEQ &neq) {}; virtual void visit (RExpr &rexpr) {}; virtual void visit (WhenExpr &when_expr) {}; virtual void visit (WhereExpr &where_expr) {}; virtual void visit (Range &range) {}; virtual void visit (Values &values) {}; virtual void visit (SimpleFun &simple_fun) {}; virtual void visit (IDExpr &id_expr) {}; virtual void visit (IntegerExpr &integer_expr) {}; virtual void visit (MatrixExpr &matrix_expr) {}; virtual void visit (FunCallExpr &fun_call_expr) {}; virtual void visit (BinOpExpr &binop_expr) {}; virtual void visit (NEGExpr &neg_expr) {}; virtual void visit (RelBExpr &bexpr) {}; virtual void visit (ANDBExpr &bexpr) {}; virtual void visit (ORBExpr &bexpr) {}; virtual void visit (NOTBExpr &bexpr) {}; virtual void visit (TrueExpr &bexpr) {}; virtual void visit (Update &update) {}; virtual void visit (ValDeclaration &val_decl) {}; virtual void visit (FunDeclaration &fun_decl) {}; virtual void visit (MatrixDeclaration &matrix_decl) {}; virtual void visit (DProg &dprog) {}; }; }; #endif //VISITOR_HH