#ifndef CODEGENV_H
#define CODEGENV_H

#include <typeinfo>

#include "SynTree.h"
#include "Visitor.h"


class CodeGenVisitor : public Visitor {
public:
    //*** Types
    virtual void visit(Type *);
    virtual void visit(BasicType *);

    //*** Constant
    virtual void visit(Constant *);

    //*** Expressions
    virtual void visit(Expression *);
    virtual void visit(ConstantExpr *);

    //*** Statements
    virtual void visit(Statement *);
    virtual void visit(ExprStmt *);
    virtual void visit(SwitchStmt *);
};


#endif /* #ifndef CODEGENV_H */
