#ifndef jk_COMPILER_HPP #define jk_COMPILER_HPP #include "commons.hpp" #include "SymTable.hpp" #include "Logger.hpp" #include "Node.hpp" #include "Program.hpp" #include "VM.hpp" namespace jk { JK_ERROR(compile_error); class Compiler { public: explicit Compiler(Logger& logger); virtual ~Compiler(); void compile(std::shared_ptr node, std::shared_ptr program, std::shared_ptr sym); private: Logger& m_logger; }; } #endif