#ifndef TOKENIZER_HPP #define TOKENIZER_HPP #include #include #include #include "lexer.hpp" #include "token.hpp" namespace SpasmImpl { namespace ASM { namespace Lexer { class Tokenizer : public TokenStream { public: Tokenizer(std::istream&); void push_token(const Token&) override; Token next_token(); private: std::unique_ptr _lexer; std::queue _tokens; bool end_input; }; // class Tokenizer } // namespace Lexer } // namespace ASM } // namespace SpasmImpl #endif