Implements variable assignment evaluation
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
#include "EvalValues/EvalValue.hpp"
|
||||
#include "EvalValues/NumericEvalValue.hpp"
|
||||
#include "EvalValues/StringEvalValue.hpp"
|
||||
|
||||
#include "EvaluationScope/EvaluationScope.hpp"
|
||||
|
||||
using namespace boost;
|
||||
|
||||
@@ -17,10 +17,12 @@ class Evaluator {
|
||||
EvalValue* _result;
|
||||
|
||||
Script* _scriptData;
|
||||
EvaluationScope* _evaluationScope;
|
||||
|
||||
void EvaluateStatement(BoundStatement* statement);
|
||||
void EvaluateBlockStatement(BoundBlockStatement* statement);
|
||||
void EvaluateExpressionStatement(BoundExpressionStatement* statement);
|
||||
void EvaluateAssignmentStatement(BoundAssignmentStatement* statement);
|
||||
|
||||
EvalValue* EvaluateExpression(BoundExpression* expression);
|
||||
NumericEvalValue* EvaluateIntegerExpression(BoundExpression* expression);
|
||||
@@ -34,10 +36,17 @@ class Evaluator {
|
||||
NumericEvalValue* EvaluateIntegerUnary(BoundUnaryExpression* expression);
|
||||
BooleanEvalValue *EvaluateBooleanUnary(BoundUnaryExpression *expression);
|
||||
public:
|
||||
Evaluator(Script* script){
|
||||
explicit Evaluator(Script* script){
|
||||
_scriptData = script;
|
||||
_result = nullptr;
|
||||
_evaluationScope = nullptr;
|
||||
}
|
||||
|
||||
~Evaluator(){
|
||||
delete _result;
|
||||
delete _evaluationScope;
|
||||
}
|
||||
|
||||
void Evaluate(BoundScriptStatement* statement);
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user