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