/* * BasicExpression.h * * Created on: Dec 5, 2012 * Author: attero */ #ifndef BASICEXPRESSION_H_ #define BASICEXPRESSION_H_ #include "ASTExpression.h" #include /** * BasicExpression is a very important class in my AST design. It always has * two children, which are actually left and right operands. Basic expression stores * a type of operation it does. It can be "+" or "-" for example. * Type of operator is very important when expression evaluates itself. * */ class BasicExpression : public ASTExpression { public: virtual SenchaObject evaluate(); virtual SenchaObject execute(); std::string get_operator() { return oper; } virtual void accept(Visitor * visitor); BasicExpression(ASTNode * left, ASTNode * right, std::string oper); virtual ~BasicExpression(); private: std::string oper; }; #endif /* BASICEXPRESSION_H_ */