2012-11-17 16:02:32 +00:00
|
|
|
/*
|
|
|
|
* ASTNode.h
|
|
|
|
*
|
|
|
|
* Created on: Nov 4, 2012
|
|
|
|
* Author: attero
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef ASTNODE_H_
|
|
|
|
#define ASTNODE_H_
|
|
|
|
#include <vector>
|
2012-12-05 20:31:06 +00:00
|
|
|
#include <string>
|
|
|
|
#include "SenchaObject.h"
|
2012-11-17 16:02:32 +00:00
|
|
|
|
|
|
|
class ASTNode {
|
|
|
|
public:
|
|
|
|
ASTNode();
|
|
|
|
ASTNode * parent;
|
|
|
|
std::vector<ASTNode *> children;
|
|
|
|
void add_children(ASTNode *);
|
|
|
|
void remove_most_right_children();
|
|
|
|
void set_parent(ASTNode *);
|
2012-12-05 22:27:03 +00:00
|
|
|
|
2012-12-05 20:31:06 +00:00
|
|
|
virtual std::string debug() = 0;
|
2012-11-17 16:02:32 +00:00
|
|
|
virtual void execute() = 0;
|
|
|
|
virtual ~ASTNode();
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* ASTNODE_H_ */
|