X-Git-Url: https://gitweb.ps.run/toc/blobdiff_plain/9f94b672a5dc32da5ad01742bd4e976315a30d9c..c6ad2948bb98d42f8e0883ef82cd14cd2d5eda60:/antlr4-cpp-runtime-4.9.2-source/runtime/src/LexerInterpreter.h diff --git a/antlr4-cpp-runtime-4.9.2-source/runtime/src/LexerInterpreter.h b/antlr4-cpp-runtime-4.9.2-source/runtime/src/LexerInterpreter.h new file mode 100644 index 0000000..e8707e9 --- /dev/null +++ b/antlr4-cpp-runtime-4.9.2-source/runtime/src/LexerInterpreter.h @@ -0,0 +1,52 @@ +/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved. + * Use of this file is governed by the BSD 3-clause license that + * can be found in the LICENSE.txt file in the project root. + */ + +#pragma once + +#include "Lexer.h" +#include "atn/PredictionContext.h" +#include "Vocabulary.h" + +namespace antlr4 { + + class ANTLR4CPP_PUBLIC LexerInterpreter : public Lexer { + public: + // @deprecated + LexerInterpreter(const std::string &grammarFileName, const std::vector &tokenNames, + const std::vector &ruleNames, const std::vector &channelNames, + const std::vector &modeNames, const atn::ATN &atn, CharStream *input); + LexerInterpreter(const std::string &grammarFileName, const dfa::Vocabulary &vocabulary, + const std::vector &ruleNames, const std::vector &channelNames, + const std::vector &modeNames, const atn::ATN &atn, CharStream *input); + + ~LexerInterpreter(); + + virtual const atn::ATN& getATN() const override; + virtual std::string getGrammarFileName() const override; + virtual const std::vector& getTokenNames() const override; + virtual const std::vector& getRuleNames() const override; + virtual const std::vector& getChannelNames() const override; + virtual const std::vector& getModeNames() const override; + + virtual const dfa::Vocabulary& getVocabulary() const override; + + protected: + const std::string _grammarFileName; + const atn::ATN &_atn; + + // @deprecated + std::vector _tokenNames; + const std::vector &_ruleNames; + const std::vector &_channelNames; + const std::vector &_modeNames; + std::vector _decisionToDFA; + + atn::PredictionContextCache _sharedContextCache; + + private: + dfa::Vocabulary _vocabulary; + }; + +} // namespace antlr4