diff options
Diffstat (limited to 'antlr4-cpp-runtime-4.9.2-source/runtime/src/LexerInterpreter.h')
| -rw-r--r-- | antlr4-cpp-runtime-4.9.2-source/runtime/src/LexerInterpreter.h | 52 |
1 files changed, 52 insertions, 0 deletions
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<std::string> &tokenNames, + const std::vector<std::string> &ruleNames, const std::vector<std::string> &channelNames, + const std::vector<std::string> &modeNames, const atn::ATN &atn, CharStream *input); + LexerInterpreter(const std::string &grammarFileName, const dfa::Vocabulary &vocabulary, + const std::vector<std::string> &ruleNames, const std::vector<std::string> &channelNames, + const std::vector<std::string> &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<std::string>& getTokenNames() const override; + virtual const std::vector<std::string>& getRuleNames() const override; + virtual const std::vector<std::string>& getChannelNames() const override; + virtual const std::vector<std::string>& getModeNames() const override; + + virtual const dfa::Vocabulary& getVocabulary() const override; + + protected: + const std::string _grammarFileName; + const atn::ATN &_atn; + + // @deprecated + std::vector<std::string> _tokenNames; + const std::vector<std::string> &_ruleNames; + const std::vector<std::string> &_channelNames; + const std::vector<std::string> &_modeNames; + std::vector<dfa::DFA> _decisionToDFA; + + atn::PredictionContextCache _sharedContextCache; + + private: + dfa::Vocabulary _vocabulary; + }; + +} // namespace antlr4 |
