#ifndef PORYGONLANG_BINDER_HPP #define PORYGONLANG_BINDER_HPP #include "../Parser/ParsedStatements/ParsedStatement.hpp" #include "BoundStatements/BoundStatement.hpp" #include "../Script.hpp" class Binder { Script* ScriptData; BoundStatement *BindStatement(ParsedStatement *statement); BoundStatement *BindBlockStatement(ParsedStatement *statement); BoundStatement *BindExpressionStatement(ParsedStatement *statement); BoundExpression *BindExpression(ParsedExpression *expression); BoundExpression *BindBinaryOperator(BinaryExpression *expression); BoundExpression *BindUnaryOperator(UnaryExpression *expression); public: static BoundScriptStatement* Bind(Script* script, ParsedScriptStatement* s); }; #endif //PORYGONLANG_BINDER_HPP