#ifndef PRETTY_PRINTER_HH
#define PRETTY_PRINTER_HH
#include "visitor.hh"
#include <iostream>
class PrettyPrinter : public ast::Visitor{
std::ostream &_os;
public:
PrettyPrinter(std::ostream &os = std::cout) : _os(os) {};
virtual void visit (ast::BinRelLT <);
virtual void visit (ast::BinRelLTE <e);
virtual void visit (ast::BinRelGT >);
virtual void visit (ast::BinRelGTE >e);
virtual void visit (ast::BinRelEQ &eq);
virtual void visit (ast::BinRelNEQ &neq);
virtual void visit (ast::RExpr &rexpr);
virtual void visit (ast::WhereExpr &where_expr);
virtual void visit (ast::WhenExpr &when_expr);
virtual void visit (ast::Range &range);
virtual void visit (ast::Values &values);
virtual void visit (ast::SimpleFun &simple_fun);
virtual void visit (ast::IDExpr &id_expr);
virtual void visit (ast::IntegerExpr &integer_expr);
virtual void visit (ast::MatrixExpr &matrix_expr);
virtual void visit (ast::FunCallExpr &fun_call_expr);
virtual void visit (ast::BinOpExpr &binop_expr);
virtual void visit (ast::NEGExpr &neg_expr);
virtual void visit (ast::RelBExpr &bexpr);
virtual void visit (ast::ANDBExpr &bexpr);
virtual void visit (ast::ORBExpr &bexpr);
virtual void visit (ast::NOTBExpr &bexpr);
virtual void visit (ast::TrueExpr &bexpr);
virtual void visit (ast::Update &update);
virtual void visit (ast::ValDeclaration &val_decl);
virtual void visit (ast::FunDeclaration &fun_decl);
virtual void visit (ast::MatrixDeclaration &matrix_decl);
virtual void visit (ast::DProg &dprog);
};
#endif // PRETTY_PRINTER_HH
syntax highlighted by Code2HTML, v. 0.9.1