12345678910111213141516171819202122232425262728 |
- #pragma once
- #include "public.h"
- #include "lexer.h"
- namespace NYson {
- ////////////////////////////////////////////////////////////////////////////////
- class TTokenizer {
- public:
- explicit TTokenizer(const TStringBuf& input);
- bool ParseNext();
- const TToken& CurrentToken() const;
- ETokenType GetCurrentType() const;
- TStringBuf GetCurrentSuffix() const;
- const TStringBuf& CurrentInput() const;
- private:
- TStringBuf Input;
- TToken Token;
- TStatelessLexer Lexer;
- size_t Parsed;
- };
- ////////////////////////////////////////////////////////////////////////////////
- } // namespace NYson
|