1 #ifndef RegExLexer_HPP
2 #define RegExLexer_HPP
3
4
5
6 #include <soulng/lexer/Lexer.hpp>
7
8 class RegExLexer : public soulng::lexer::Lexer
9 {
10 public:
11 RegExLexer(const std::u32string& content_, const std::string& fileName_, int fileIndex_);
12 RegExLexer(const char32_t* start_, const char32_t* end_, const std::string& fileName_, int fileIndex_);
13 int NextState(int state, char32_t c) override;
14 private:
15 int GetTokenId(int statementIndex);
16 };
17 #endif