diff options
Diffstat (limited to 'include/lexer/lexer.hpp')
| -rw-r--r-- | include/lexer/lexer.hpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/include/lexer/lexer.hpp b/include/lexer/lexer.hpp new file mode 100644 index 0000000..2c165b6 --- /dev/null +++ b/include/lexer/lexer.hpp @@ -0,0 +1,27 @@ +#ifndef LEXER_H +#define LEXER_H + +#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(); +}; + +#endif |
