#ifndef jk_FACTORY_HPP #define jk_FACTORY_HPP #include "Lexer.hpp" #include "Parser.hpp" #include "Logger.hpp" #include "commons.hpp" namespace jk { class Factory { public: explicit Factory(Logger& logger, std::filesystem::path path); virtual ~Factory(); std::shared_ptr make_lexer(); std::shared_ptr make_parser(); private: Logger& m_logger; std::filesystem::path m_path; }; } #endif