1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
#pragma once #include "token.hpp" #include <vector> #include <string> class Lexer { public: explicit Lexer (const std::string& src); std::vector<Token> tokenise(); private: int line; int column; int position; std::string src; std::vector<Token> tokens; char advance(); void skipWhitespace(); void skipComment(); };