/* * ProgramNode.cpp * * Created on: Nov 5, 2012 * Author: attero */ #include "ProgramNode.h" ProgramNode::ProgramNode() { //Do nothing this->type = "ProgramNode"; } ProgramNode::~ProgramNode() { for(auto it = children.begin(); it != children.end(); ) { delete *it; it = children.erase(it); } } void ProgramNode::execute() { for (std::vector::iterator it = children.begin(); it!=children.end(); ++it) { (*it)->execute(); } } void ProgramNode::accept(Visitor * visitor) { visitor->visit(this); } void ProgramNode::execute_last() { children[children.size() - 1]->execute(); } SenchaObject ProgramNode::evaluate_last() { SenchaObject result = (children[children.size() - 1])->evaluate(); return result; } void ProgramNode::add_statement(ASTStatement * statement) { children.push_back(statement); }