43 lines
733 B
C++
43 lines
733 B
C++
/*
|
|
* BasicStatement.cpp
|
|
*
|
|
* Created on: Dec 5, 2012
|
|
* Author: attero
|
|
*/
|
|
|
|
#include "BasicStatement.h"
|
|
|
|
BasicStatement::BasicStatement(ASTNode * parent) {
|
|
this->parent = parent;
|
|
this->type = "BasicStatement";
|
|
}
|
|
|
|
BasicStatement::~BasicStatement() {
|
|
for(auto it = children.begin(); it != children.end(); )
|
|
{
|
|
delete *it;
|
|
it = children.erase(it);
|
|
}
|
|
}
|
|
|
|
void BasicStatement::add_expression(ASTExpression * expr)
|
|
{
|
|
children.push_back(expr);
|
|
}
|
|
|
|
std::string BasicStatement::debug()
|
|
{
|
|
return "Basic statement with expression:\n" + children[0]->debug() + "\n;\n";
|
|
}
|
|
|
|
void BasicStatement::execute()
|
|
{
|
|
for(auto child: children)
|
|
child->execute() ;
|
|
}
|
|
|
|
void BasicStatement::accept(Visitor * visitor)
|
|
{
|
|
visitor->visit(this);
|
|
}
|