add RandomIfStatement

This commit is contained in:
Florian Sattler
2013-06-01 03:02:21 +02:00
parent e2dcf5f507
commit a2ee427f57
4 changed files with 48 additions and 0 deletions

View File

@@ -69,6 +69,7 @@ SET(SCULLY_SOURCE
src/AST/IfStatement.cpp
src/AST/ParameterList.cpp
src/AST/ReturnStatement.cpp
src/AST/RandomIfStatement.cpp
src/AST/Scope.cpp
src/AST/Statement.cpp
src/AST/StatementList.cpp

View File

@@ -8,6 +8,7 @@
#include "FunctionDefinition.h"
#include "IfStatement.h"
#include "ParameterList.h"
#include "RandomIfStatement.h"
#include "ReturnStatement.h"
#include "Scope.h"
#include "StatementList.h"
@@ -27,6 +28,7 @@ public:
virtual void visit(FunctionDefinition* e) = 0;
virtual void visit(IfStatement* e) = 0;
virtual void visit(ParameterList* e) = 0;
virtual void visit(RandomIfStatement* e) = 0;
virtual void visit(ReturnStatement* e) = 0;
virtual void visit(Scope* e) = 0;
virtual void visit(StatementList* e) = 0;

View File

@@ -0,0 +1,22 @@
#ifndef RANDOMIFSTATEMENT_H
#define RANDOMIFSTATEMENT_H
#include "AST/Expression.h"
#include "AST/Statement.h"
class RandomIfStatement : public Statement
{
public:
RandomIfStatement(Expression* prob, Statement* stmt);
virtual ~RandomIfStatement();
virtual void accept(ASTVisitor *visitor);
Expression* getProb();
Statement* getStmt();
private:
Expression* prob_;
Statement* stmt_;
};
#endif // RANDOMIFSTATEMENT_H

View File

@@ -0,0 +1,23 @@
#include "AST/RandomIfStatement.h"
#include "AST/ASTVisitor.h"
RandomIfStatement::RandomIfStatement(Expression *prob, Statement *stmt) : prob_(prob),stmt_(stmt)
{
//
}
RandomIfStatement::~RandomIfStatement() {
//
}
void RandomIfStatement::accept(ASTVisitor *visitor) {
visitor->visit(this);
}
Expression* RandomIfStatement::getProb() {
return prob_;
}
Statement* RandomIfStatement::getStmt() {
return stmt_;
}