| /* 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 |