sencha-lang/Sencha-lang/AST/BasicExpression.h

37 lines
870 B
C++

/*
* BasicExpression.h
*
* Created on: Dec 5, 2012
* Author: attero
*/
#ifndef BASICEXPRESSION_H_
#define BASICEXPRESSION_H_
#include "ASTExpression.h"
#include <iostream>
/**
* 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_ */