#include "lexer.h" #include "lexer_detail.h" #include "token.h" #include namespace NYson { //////////////////////////////////////////////////////////////////////////////// class TStatelessLexer::TImpl { private: THolder Impl; public: TImpl(bool enableLinePositionInfo = false) : Impl(enableLinePositionInfo ? static_cast(new TStatelesYsonLexerImpl()) : static_cast(new TStatelesYsonLexerImpl())) { } size_t GetToken(const TStringBuf& data, TToken* token) { return Impl->GetToken(data, token); } }; //////////////////////////////////////////////////////////////////////////////// TStatelessLexer::TStatelessLexer() : Impl(new TImpl()) { } TStatelessLexer::~TStatelessLexer() { } size_t TStatelessLexer::GetToken(const TStringBuf& data, TToken* token) { return Impl->GetToken(data, token); } //////////////////////////////////////////////////////////////////////////////// } // namespace NYson