2013-05-31 23:51:44 +02:00
|
|
|
#ifndef ASTVISITOR_H
|
|
|
|
|
#define ASTVISITOR_H
|
|
|
|
|
|
2013-06-01 01:10:55 +02:00
|
|
|
#include "AssignmentExpression.h"
|
2013-06-01 01:50:24 +02:00
|
|
|
#include "BinOp.h"
|
2013-06-01 00:52:03 +02:00
|
|
|
#include "ConstantExpression.h"
|
2013-06-01 02:06:24 +02:00
|
|
|
#include "IfStatement.h"
|
2013-06-01 00:38:20 +02:00
|
|
|
#include "ParameterList.h"
|
2013-06-01 02:16:34 +02:00
|
|
|
#include "StatementList.h"
|
2013-06-01 02:10:29 +02:00
|
|
|
#include "ValueList.h"
|
|
|
|
|
#include "VariableDefinition.h"
|
2013-06-01 00:16:38 +02:00
|
|
|
|
2013-05-31 23:51:44 +02:00
|
|
|
class ASTVisitor {
|
|
|
|
|
public:
|
|
|
|
|
ASTVisitor();
|
|
|
|
|
virtual ~ASTVisitor();
|
2013-06-01 00:16:38 +02:00
|
|
|
|
2013-06-01 01:50:24 +02:00
|
|
|
virtual void visit(AssignmentExpression* e) = 0;
|
|
|
|
|
virtual void visit(BinOp* e) = 0;
|
|
|
|
|
virtual void visit(ConstantExpression* e) = 0;
|
2013-06-01 02:10:29 +02:00
|
|
|
virtual void visit(IfStatement* e) = 0;
|
2013-06-01 00:38:20 +02:00
|
|
|
virtual void visit(ParameterList* e) = 0;
|
2013-06-01 02:10:29 +02:00
|
|
|
virtual void visit(ValueList* e) = 0;
|
2013-06-01 00:16:38 +02:00
|
|
|
virtual void visit(VariableDefinition* e) = 0;
|
2013-06-01 02:16:34 +02:00
|
|
|
virtual void visit(StatementList* e) = 0;
|
2013-05-31 23:51:44 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // ASTVISITOR_H
|