PorygonLang/src/Script.hpp

44 lines
768 B
C++

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