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