2012-11-04 15:21:51 +00:00
|
|
|
/*
|
|
|
|
* ASTNode.h
|
|
|
|
*
|
|
|
|
* Created on: Nov 4, 2012
|
|
|
|
* Author: attero
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef ASTNODE_H_
|
|
|
|
#define ASTNODE_H_
|
2012-11-04 16:16:02 +00:00
|
|
|
#include <vector>
|
2012-11-04 15:21:51 +00:00
|
|
|
|
|
|
|
class ASTNode {
|
|
|
|
public:
|
|
|
|
ASTNode();
|
2012-11-04 16:16:02 +00:00
|
|
|
ASTNode * parent;
|
|
|
|
std::vector<ASTNode *> children;
|
|
|
|
void add_children(ASTNode *);
|
|
|
|
void remove_most_right_children();
|
|
|
|
void set_parent(ASTNode *);
|
|
|
|
virtual void execute() = 0;
|
2012-11-04 15:21:51 +00:00
|
|
|
virtual ~ASTNode();
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* ASTNODE_H_ */
|