ValueList and some cleanup

This commit is contained in:
Markus Hauschild
2013-06-01 02:10:29 +02:00
parent d88b3b5ba0
commit c8a1119ea6
7 changed files with 67 additions and 21 deletions

View File

@@ -5,8 +5,9 @@
#include "BinOp.h"
#include "ConstantExpression.h"
#include "IfStatement.h"
#include "VariableDefinition.h"
#include "ParameterList.h"
#include "ValueList.h"
#include "VariableDefinition.h"
class ASTVisitor {
public:
@@ -16,8 +17,9 @@ public:
virtual void visit(AssignmentExpression* e) = 0;
virtual void visit(BinOp* e) = 0;
virtual void visit(ConstantExpression* e) = 0;
virtual void visit(IfStatement* e) = 0;
virtual void visit(IfStatement* e) = 0;
virtual void visit(ParameterList* e) = 0;
virtual void visit(ValueList* e) = 0;
virtual void visit(VariableDefinition* e) = 0;
};

View File

@@ -4,19 +4,18 @@
#include "AST/Expression.h"
#include <string>
class AssignmentExpression : public Expression
{
class AssignmentExpression : public Expression {
public:
AssignmentExpression(std::string id, Expression* expr);
virtual ~AssignmentExpression();
AssignmentExpression(std::string id, Expression* expr);
virtual ~AssignmentExpression();
virtual void accept(ASTVisitor *visitor);
virtual void accept(ASTVisitor *visitor);
std::string getId();
Expression* getExpr();
std::string getId();
Expression* getExpr();
private:
std::string id_;
Expression* expr_;
std::string id_;
Expression* expr_;
};
#endif // ASSIGNMENTEXPRESSION_H

21
inc/AST/ValueList.h Normal file
View File

@@ -0,0 +1,21 @@
#ifndef VALUELIST_H
#define VALUELIST_H
#include "AST/ASTElement.h"
#include "AST/Expression.h"
#include <vector>
class ValueList : public ASTElement {
public:
ValueList();
~ValueList();
virtual void accept(ASTVisitor* visitor);
void addValue(Expression* expr);
std::vector<Expression*> getValues();
private:
std::vector<Expression*> values_;
};
#endif // VALUELIST_H