1 /* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
2 * Use of this file is governed by the BSD 3-clause license that
3 * can be found in the LICENSE.txt file in the project root.
9 #include "atn/PredictionContext.h"
10 #include "Vocabulary.h"
14 class ANTLR4CPP_PUBLIC LexerInterpreter : public Lexer {
17 LexerInterpreter(const std::string &grammarFileName, const std::vector<std::string> &tokenNames,
18 const std::vector<std::string> &ruleNames, const std::vector<std::string> &channelNames,
19 const std::vector<std::string> &modeNames, const atn::ATN &atn, CharStream *input);
20 LexerInterpreter(const std::string &grammarFileName, const dfa::Vocabulary &vocabulary,
21 const std::vector<std::string> &ruleNames, const std::vector<std::string> &channelNames,
22 const std::vector<std::string> &modeNames, const atn::ATN &atn, CharStream *input);
26 virtual const atn::ATN& getATN() const override;
27 virtual std::string getGrammarFileName() const override;
28 virtual const std::vector<std::string>& getTokenNames() const override;
29 virtual const std::vector<std::string>& getRuleNames() const override;
30 virtual const std::vector<std::string>& getChannelNames() const override;
31 virtual const std::vector<std::string>& getModeNames() const override;
33 virtual const dfa::Vocabulary& getVocabulary() const override;
36 const std::string _grammarFileName;
40 std::vector<std::string> _tokenNames;
41 const std::vector<std::string> &_ruleNames;
42 const std::vector<std::string> &_channelNames;
43 const std::vector<std::string> &_modeNames;
44 std::vector<dfa::DFA> _decisionToDFA;
46 atn::PredictionContextCache _sharedContextCache;
49 dfa::Vocabulary _vocabulary;