#pragma once #include "Ast/astBase.hpp" #include #include #include #include namespace Fig { class Compiler { private: std::vector source; std::vector output; // std::vector std::vector constants; public: std::vector getOutput() const { return output; } std::vector getConstantPool() const { return constants; } Compiler() {} Compiler(std::vector _source) : source(std::move(_source)) {} void compile_expr(Ast::Expression); void compile(Ast::Statement); void CompileAll(); }; }; // namespace Fig