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