#ifndef __LEXER_H #define __LEXER_H #include #include class Lexer { private: char *m_script; List *m_tokens; private: size_t m_start; size_t m_current; size_t m_end; size_t m_line; bool m_errored; private: bool at_end(void); char advance(void); char peek(void); bool match(char c); private: void string(void); private: void add_token(token_type_e type); void scan_token(void); public: void init(char *script); List *scan(void); void clean(void); }; #endif