| // [The "BSD 3-clause license"] | |
| // Copyright (c) 2005-2007 Terence Parr | |
| // Copyright (c) 2012-2015 Terence Parr | |
| // Copyright (c) 2012-2015 Sam Harwell | |
| // Copyright (c) 2014-2015 Gerald Rosenberg | |
| // Copyright (c) 2023 Google LLC | |
| // All rights reserved. | |
| // Redistribution and use in source and binary forms, with or without | |
| // modification, are permitted provided that the following conditions | |
| // are met: | |
| // 1. Redistributions of source code must retain the above copyright | |
| // notice, this list of conditions and the following disclaimer. | |
| // 2. Redistributions in binary form must reproduce the above copyright | |
| // notice, this list of conditions and the following disclaimer in the | |
| // documentation and/or other materials provided with the distribution. | |
| // 3. Neither the name of the copyright holder nor the names of its | |
| // contributors may be used to endorse or promote products derived from this | |
| // software without specific prior written permission. | |
| // | |
| // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | |
| // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | |
| // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | |
| // IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | |
| // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | |
| // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
| // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
| // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
| // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | |
| // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| // Generated from ANTLRv4Lexer.g4 by ANTLR 4.11.2 | |
| #ifndef ANTLR4_GEN_ANTLRV_LEXER_H | |
| #define ANTLR4_GEN_ANTLRV_LEXER_H | |
| #include "antlr4-runtime.h" | |
| namespace antlr4_grammar { | |
| class LexerAdaptor : public antlr4::Lexer { | |
| public: | |
| LexerAdaptor &self; | |
| LexerAdaptor(antlr4::CharStream *input) : Lexer(input), self(*this){}; | |
| int currentRuleType = antlr4::Token::INVALID_TYPE; | |
| int getCurrentRuleType(); | |
| void setCurrentRuleType(int ruleType); | |
| void handleBeginArgument(); | |
| void handleEndArgument(); | |
| void handleEndAction(); | |
| antlr4::Token *emit(); | |
| bool inLexerRule(); | |
| bool inParserRule(); | |
| }; | |
| class ANTLRv4Lexer : public LexerAdaptor { | |
| public: | |
| enum { | |
| TOKEN_REF = 1, | |
| RULE_REF = 2, | |
| LEXER_CHAR_SET = 3, | |
| DOC_COMMENT = 4, | |
| BLOCK_COMMENT = 5, | |
| LINE_COMMENT = 6, | |
| INT = 7, | |
| STRING_LITERAL = 8, | |
| UNTERMINATED_STRING_LITERAL = 9, | |
| BEGIN_ARGUMENT = 10, | |
| BEGIN_ACTION = 11, | |
| OPTIONS = 12, | |
| TOKENS = 13, | |
| CHANNELS = 14, | |
| IMPORT = 15, | |
| FRAGMENT = 16, | |
| LEXER = 17, | |
| PARSER = 18, | |
| GRAMMAR = 19, | |
| PROTECTED = 20, | |
| PUBLIC = 21, | |
| PRIVATE = 22, | |
| RETURNS = 23, | |
| LOCALS = 24, | |
| THROWS = 25, | |
| CATCH = 26, | |
| FINALLY = 27, | |
| MODE = 28, | |
| COLON = 29, | |
| COLONCOLON = 30, | |
| COMMA = 31, | |
| SEMI = 32, | |
| LPAREN = 33, | |
| RPAREN = 34, | |
| LBRACE = 35, | |
| RBRACE = 36, | |
| RARROW = 37, | |
| LT = 38, | |
| GT = 39, | |
| ASSIGN = 40, | |
| QUESTION = 41, | |
| STAR = 42, | |
| PLUS_ASSIGN = 43, | |
| PLUS = 44, | |
| OR = 45, | |
| DOLLAR = 46, | |
| RANGE = 47, | |
| DOT = 48, | |
| AT = 49, | |
| POUND = 50, | |
| NOT = 51, | |
| ID = 52, | |
| WS = 53, | |
| ERRCHAR = 54, | |
| END_ARGUMENT = 55, | |
| UNTERMINATED_ARGUMENT = 56, | |
| ARGUMENT_CONTENT = 57, | |
| END_ACTION = 58, | |
| UNTERMINATED_ACTION = 59, | |
| ACTION_CONTENT = 60, | |
| UNTERMINATED_CHAR_SET = 61 | |
| }; | |
| enum { OFF_CHANNEL = 2, COMMENT = 3 }; | |
| enum { Argument = 1, TargetLanguageAction = 2, LexerCharSet = 3 }; | |
| explicit ANTLRv4Lexer(antlr4::CharStream *input); | |
| ~ANTLRv4Lexer() override; | |
| std::string getGrammarFileName() const override; | |
| const std::vector<std::string> &getRuleNames() const override; | |
| const std::vector<std::string> &getChannelNames() const override; | |
| const std::vector<std::string> &getModeNames() const override; | |
| const antlr4::dfa::Vocabulary &getVocabulary() const override; | |
| antlr4::atn::SerializedATNView getSerializedATN() const override; | |
| const antlr4::atn::ATN &getATN() const override; | |
| void action(antlr4::RuleContext *context, size_t ruleIndex, | |
| size_t actionIndex) override; | |
| // By default the static state used to implement the lexer is lazily | |
| // initialized during the first call to the constructor. You can call this | |
| // function if you wish to initialize the static state ahead of time. | |
| static void initialize(); | |
| private: | |
| // Individual action functions triggered by action() above. | |
| void BEGIN_ARGUMENTAction(antlr4::RuleContext *context, size_t actionIndex); | |
| void END_ARGUMENTAction(antlr4::RuleContext *context, size_t actionIndex); | |
| void END_ACTIONAction(antlr4::RuleContext *context, size_t actionIndex); | |
| // Individual semantic predicate functions triggered by sempred() above. | |
| }; | |
| } // namespace antlr4_grammar | |
| #endif // ANTLR4_GEN_ANTLRV_LEXER_H |