#pragma once #include #include #include namespace Token { class Tokenizer { private: std::vector> substitutions; Token ExtractToken( std::string string, int const lineNumber, int const lineColumn) const; void ParseComment( std::string const & string, int const lineNumber, int const lineColumn); void ParseCharacterLiteral( std::string const & line, int const lineNumber, unsigned & lineColumn, std::vector & tokens) const; public: void Tokenize(std::string const & line, int const lineNumber, std::vector & tokens); }; }