#include #ifndef PORYGONLANG_SCRIPT_HPP #define PORYGONLANG_SCRIPT_HPP #include #include #include "Diagnostics/Diagnostics.hpp" #include "Binder/BoundStatements/BoundStatement.hpp" class Script; class Evaluator; #include "Evaluator/Evaluator.hpp" using namespace std; class Script { friend class Evaluator; boost::any* _lastValue; Evaluator* _evaluator; explicit Script(); void Parse(string script); BoundScriptStatement* BoundScript; public: static Script Create(string script); Diagnostics* Diagnostics; ~Script(); void Evaluate(); boost::any* GetLastValue(){ return _lastValue; }; }; #endif //PORYGONLANG_SCRIPT_HPP