adding RandomForStatement and fixing typo

This commit is contained in:
Florian Sattler
2013-06-01 03:14:49 +02:00
parent a853ed5ae9
commit 5300f7f6ee
6 changed files with 63 additions and 2 deletions

View File

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

View File

@@ -10,6 +10,7 @@
#include "FunctionDefinition.h" #include "FunctionDefinition.h"
#include "IfStatement.h" #include "IfStatement.h"
#include "ParameterList.h" #include "ParameterList.h"
#include "RandomForStatement.h"
#include "RandomIfStatement.h" #include "RandomIfStatement.h"
#include "ReturnStatement.h" #include "ReturnStatement.h"
#include "Scope.h" #include "Scope.h"
@@ -32,6 +33,7 @@ public:
virtual void visit(FunctionDefinition* e) = 0; virtual void visit(FunctionDefinition* e) = 0;
virtual void visit(IfStatement* e) = 0; virtual void visit(IfStatement* e) = 0;
virtual void visit(ParameterList* e) = 0; virtual void visit(ParameterList* e) = 0;
virtual void visit(RandomForStatement* e) = 0;
virtual void visit(RandomIfStatement* e) = 0; virtual void visit(RandomIfStatement* e) = 0;
virtual void visit(ReturnStatement* e) = 0; virtual void visit(ReturnStatement* e) = 0;
virtual void visit(Scope* e) = 0; virtual void visit(Scope* e) = 0;

View File

@@ -14,7 +14,7 @@ public:
Expression* getInit(); Expression* getInit();
Expression* getCond(); Expression* getCond();
Expression* getStep(); Expression* getStep();
Statement* GetStmt(); Statement* getStmt();
private: private:
Expression* init_; Expression* init_;
Expression* cond_; Expression* cond_;

View File

@@ -0,0 +1,26 @@
#ifndef RANDOMFORSTATEMENT_H
#define RANDOMFORSTATEMENT_H
#include "AST/Expression.h"
#include "AST/Statement.h"
class RandomForStatement : public Statement
{
public:
RandomForStatement(Expression* init, Expression* prob, Expression* step, Statement* stmt);
virtual ~RandomForStatement();
virtual void accept(ASTVisitor *visitor);
Expression* getInit();
Expression* getProb();
Expression* getStep();
Statement* getStmt();
private:
Expression* init_;
Expression* prob_;
Expression* step_;
Statement* stmt_;
};
#endif // RANDOMFORSTATEMENT_H

View File

@@ -25,6 +25,6 @@ Expression* ForStatement::getStep() {
return step_; return step_;
} }
Statement* ForStatement::GetStmt() { Statement* ForStatement::getStmt() {
return stmt_; return stmt_;
} }

View File

@@ -0,0 +1,32 @@
#include "AST/RandomForStatement.h"
#include "AST/ASTVisitor.h"
RandomForStatement::RandomForStatement(Expression *init, Expression *prob, Expression *step, Statement *stmt) : init_(init),prob_(prob),step_(step),stmt_(stmt)
{
//
}
RandomForStatement::~RandomForStatement() {
//
}
void RandomForStatement::accept(ASTVisitor *visitor) {
visitor->visit(this);
}
Expression* RandomForStatement::getInit() {
return init_;
}
Expression* RandomForStatement::getProb() {
return prob_;
}
Expression* RandomForStatement::getStep() {
return step_;
}
Statement* RandomForStatement::getStmt() {
return stmt_;
}