// [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 ANTLRv4Parser.g4 by ANTLR 4.11.2 #ifndef ANTLR4_GEN_ANTLRV_PARSER_H #define ANTLR4_GEN_ANTLRV_PARSER_H #include "antlr4-runtime.h" namespace antlr4_grammar { class ANTLRv4Parser : public antlr4::Parser { 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 { RuleGrammarSpec = 0, RuleGrammarDecl = 1, RuleGrammarType = 2, RulePrequelConstruct = 3, RuleOptionsSpec = 4, RuleOption = 5, RuleOptionValue = 6, RuleDelegateGrammars = 7, RuleDelegateGrammar = 8, RuleTokensSpec = 9, RuleChannelsSpec = 10, RuleIdList = 11, RuleAction_ = 12, RuleActionScopeName = 13, RuleActionBlock = 14, RuleArgActionBlock = 15, RuleModeSpec = 16, RuleRules = 17, RuleRuleSpec = 18, RuleParserRuleSpec = 19, RuleExceptionGroup = 20, RuleExceptionHandler = 21, RuleFinallyClause = 22, RuleRulePrequel = 23, RuleRuleReturns = 24, RuleThrowsSpec = 25, RuleLocalsSpec = 26, RuleRuleAction = 27, RuleRuleModifiers = 28, RuleRuleModifier = 29, RuleRuleBlock = 30, RuleRuleAltList = 31, RuleLabeledAlt = 32, RuleLexerRuleSpec = 33, RuleLexerRuleBlock = 34, RuleLexerAltList = 35, RuleLexerAlt = 36, RuleLexerElements = 37, RuleLexerElement = 38, RuleLabeledLexerElement = 39, RuleLexerBlock = 40, RuleLexerCommands = 41, RuleLexerCommand = 42, RuleLexerCommandName = 43, RuleLexerCommandExpr = 44, RuleAltList = 45, RuleAlternative = 46, RuleElement = 47, RuleLabeledElement = 48, RuleEbnf = 49, RuleBlockSuffix = 50, RuleEbnfSuffix = 51, RuleLexerAtom = 52, RuleAtom = 53, RuleNotSet = 54, RuleBlockSet = 55, RuleSetElement = 56, RuleBlock = 57, RuleRuleref = 58, RuleCharacterRange = 59, RuleTerminal = 60, RuleElementOptions = 61, RuleElementOption = 62, RuleIdentifier = 63 }; explicit ANTLRv4Parser(antlr4::TokenStream *input); ANTLRv4Parser(antlr4::TokenStream *input, const antlr4::atn::ParserATNSimulatorOptions &options); ~ANTLRv4Parser() override; std::string getGrammarFileName() const override; const antlr4::atn::ATN &getATN() const override; const std::vector &getRuleNames() const override; const antlr4::dfa::Vocabulary &getVocabulary() const override; antlr4::atn::SerializedATNView getSerializedATN() const override; class GrammarSpecContext; class GrammarDeclContext; class GrammarTypeContext; class PrequelConstructContext; class OptionsSpecContext; class OptionContext; class OptionValueContext; class DelegateGrammarsContext; class DelegateGrammarContext; class TokensSpecContext; class ChannelsSpecContext; class IdListContext; class Action_Context; class ActionScopeNameContext; class ActionBlockContext; class ArgActionBlockContext; class ModeSpecContext; class RulesContext; class RuleSpecContext; class ParserRuleSpecContext; class ExceptionGroupContext; class ExceptionHandlerContext; class FinallyClauseContext; class RulePrequelContext; class RuleReturnsContext; class ThrowsSpecContext; class LocalsSpecContext; class RuleActionContext; class RuleModifiersContext; class RuleModifierContext; class RuleBlockContext; class RuleAltListContext; class LabeledAltContext; class LexerRuleSpecContext; class LexerRuleBlockContext; class LexerAltListContext; class LexerAltContext; class LexerElementsContext; class LexerElementContext; class LabeledLexerElementContext; class LexerBlockContext; class LexerCommandsContext; class LexerCommandContext; class LexerCommandNameContext; class LexerCommandExprContext; class AltListContext; class AlternativeContext; class ElementContext; class LabeledElementContext; class EbnfContext; class BlockSuffixContext; class EbnfSuffixContext; class LexerAtomContext; class AtomContext; class NotSetContext; class BlockSetContext; class SetElementContext; class BlockContext; class RulerefContext; class CharacterRangeContext; class TerminalContext; class ElementOptionsContext; class ElementOptionContext; class IdentifierContext; class GrammarSpecContext : public antlr4::ParserRuleContext { public: GrammarSpecContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; GrammarDeclContext *grammarDecl(); RulesContext *rules(); antlr4::tree::TerminalNode *EOF(); std::vector prequelConstruct(); PrequelConstructContext *prequelConstruct(size_t i); std::vector modeSpec(); ModeSpecContext *modeSpec(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; GrammarSpecContext *grammarSpec(); class GrammarDeclContext : public antlr4::ParserRuleContext { public: GrammarDeclContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; GrammarTypeContext *grammarType(); IdentifierContext *identifier(); antlr4::tree::TerminalNode *SEMI(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; GrammarDeclContext *grammarDecl(); class GrammarTypeContext : public antlr4::ParserRuleContext { public: GrammarTypeContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *LEXER(); antlr4::tree::TerminalNode *GRAMMAR(); antlr4::tree::TerminalNode *PARSER(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; GrammarTypeContext *grammarType(); class PrequelConstructContext : public antlr4::ParserRuleContext { public: PrequelConstructContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; OptionsSpecContext *optionsSpec(); DelegateGrammarsContext *delegateGrammars(); TokensSpecContext *tokensSpec(); ChannelsSpecContext *channelsSpec(); Action_Context *action_(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; PrequelConstructContext *prequelConstruct(); class OptionsSpecContext : public antlr4::ParserRuleContext { public: OptionsSpecContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *OPTIONS(); antlr4::tree::TerminalNode *RBRACE(); std::vector option(); OptionContext *option(size_t i); std::vector SEMI(); antlr4::tree::TerminalNode *SEMI(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; OptionsSpecContext *optionsSpec(); class OptionContext : public antlr4::ParserRuleContext { public: OptionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; IdentifierContext *identifier(); antlr4::tree::TerminalNode *ASSIGN(); OptionValueContext *optionValue(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; OptionContext *option(); class OptionValueContext : public antlr4::ParserRuleContext { public: OptionValueContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; std::vector identifier(); IdentifierContext *identifier(size_t i); std::vector DOT(); antlr4::tree::TerminalNode *DOT(size_t i); antlr4::tree::TerminalNode *STRING_LITERAL(); ActionBlockContext *actionBlock(); antlr4::tree::TerminalNode *INT(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; OptionValueContext *optionValue(); class DelegateGrammarsContext : public antlr4::ParserRuleContext { public: DelegateGrammarsContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *IMPORT(); std::vector delegateGrammar(); DelegateGrammarContext *delegateGrammar(size_t i); antlr4::tree::TerminalNode *SEMI(); std::vector COMMA(); antlr4::tree::TerminalNode *COMMA(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; DelegateGrammarsContext *delegateGrammars(); class DelegateGrammarContext : public antlr4::ParserRuleContext { public: DelegateGrammarContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; std::vector identifier(); IdentifierContext *identifier(size_t i); antlr4::tree::TerminalNode *ASSIGN(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; DelegateGrammarContext *delegateGrammar(); class TokensSpecContext : public antlr4::ParserRuleContext { public: TokensSpecContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *TOKENS(); antlr4::tree::TerminalNode *RBRACE(); IdListContext *idList(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; TokensSpecContext *tokensSpec(); class ChannelsSpecContext : public antlr4::ParserRuleContext { public: ChannelsSpecContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *CHANNELS(); antlr4::tree::TerminalNode *RBRACE(); IdListContext *idList(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; ChannelsSpecContext *channelsSpec(); class IdListContext : public antlr4::ParserRuleContext { public: IdListContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; std::vector identifier(); IdentifierContext *identifier(size_t i); std::vector COMMA(); antlr4::tree::TerminalNode *COMMA(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; IdListContext *idList(); class Action_Context : public antlr4::ParserRuleContext { public: Action_Context(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *AT(); IdentifierContext *identifier(); ActionBlockContext *actionBlock(); ActionScopeNameContext *actionScopeName(); antlr4::tree::TerminalNode *COLONCOLON(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; Action_Context *action_(); class ActionScopeNameContext : public antlr4::ParserRuleContext { public: ActionScopeNameContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; IdentifierContext *identifier(); antlr4::tree::TerminalNode *LEXER(); antlr4::tree::TerminalNode *PARSER(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; ActionScopeNameContext *actionScopeName(); class ActionBlockContext : public antlr4::ParserRuleContext { public: ActionBlockContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *BEGIN_ACTION(); antlr4::tree::TerminalNode *END_ACTION(); std::vector ACTION_CONTENT(); antlr4::tree::TerminalNode *ACTION_CONTENT(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; ActionBlockContext *actionBlock(); class ArgActionBlockContext : public antlr4::ParserRuleContext { public: ArgActionBlockContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *BEGIN_ARGUMENT(); antlr4::tree::TerminalNode *END_ARGUMENT(); std::vector ARGUMENT_CONTENT(); antlr4::tree::TerminalNode *ARGUMENT_CONTENT(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; ArgActionBlockContext *argActionBlock(); class ModeSpecContext : public antlr4::ParserRuleContext { public: ModeSpecContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *MODE(); IdentifierContext *identifier(); antlr4::tree::TerminalNode *SEMI(); std::vector lexerRuleSpec(); LexerRuleSpecContext *lexerRuleSpec(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; ModeSpecContext *modeSpec(); class RulesContext : public antlr4::ParserRuleContext { public: RulesContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; std::vector ruleSpec(); RuleSpecContext *ruleSpec(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; RulesContext *rules(); class RuleSpecContext : public antlr4::ParserRuleContext { public: RuleSpecContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; ParserRuleSpecContext *parserRuleSpec(); LexerRuleSpecContext *lexerRuleSpec(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; RuleSpecContext *ruleSpec(); class ParserRuleSpecContext : public antlr4::ParserRuleContext { public: ParserRuleSpecContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *RULE_REF(); antlr4::tree::TerminalNode *COLON(); RuleBlockContext *ruleBlock(); antlr4::tree::TerminalNode *SEMI(); ExceptionGroupContext *exceptionGroup(); RuleModifiersContext *ruleModifiers(); ArgActionBlockContext *argActionBlock(); RuleReturnsContext *ruleReturns(); ThrowsSpecContext *throwsSpec(); LocalsSpecContext *localsSpec(); std::vector rulePrequel(); RulePrequelContext *rulePrequel(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; ParserRuleSpecContext *parserRuleSpec(); class ExceptionGroupContext : public antlr4::ParserRuleContext { public: ExceptionGroupContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; std::vector exceptionHandler(); ExceptionHandlerContext *exceptionHandler(size_t i); FinallyClauseContext *finallyClause(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; ExceptionGroupContext *exceptionGroup(); class ExceptionHandlerContext : public antlr4::ParserRuleContext { public: ExceptionHandlerContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *CATCH(); ArgActionBlockContext *argActionBlock(); ActionBlockContext *actionBlock(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; ExceptionHandlerContext *exceptionHandler(); class FinallyClauseContext : public antlr4::ParserRuleContext { public: FinallyClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *FINALLY(); ActionBlockContext *actionBlock(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; FinallyClauseContext *finallyClause(); class RulePrequelContext : public antlr4::ParserRuleContext { public: RulePrequelContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; OptionsSpecContext *optionsSpec(); RuleActionContext *ruleAction(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; RulePrequelContext *rulePrequel(); class RuleReturnsContext : public antlr4::ParserRuleContext { public: RuleReturnsContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *RETURNS(); ArgActionBlockContext *argActionBlock(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; RuleReturnsContext *ruleReturns(); class ThrowsSpecContext : public antlr4::ParserRuleContext { public: ThrowsSpecContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *THROWS(); std::vector identifier(); IdentifierContext *identifier(size_t i); std::vector COMMA(); antlr4::tree::TerminalNode *COMMA(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; ThrowsSpecContext *throwsSpec(); class LocalsSpecContext : public antlr4::ParserRuleContext { public: LocalsSpecContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *LOCALS(); ArgActionBlockContext *argActionBlock(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; LocalsSpecContext *localsSpec(); class RuleActionContext : public antlr4::ParserRuleContext { public: RuleActionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *AT(); IdentifierContext *identifier(); ActionBlockContext *actionBlock(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; RuleActionContext *ruleAction(); class RuleModifiersContext : public antlr4::ParserRuleContext { public: RuleModifiersContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; std::vector ruleModifier(); RuleModifierContext *ruleModifier(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; RuleModifiersContext *ruleModifiers(); class RuleModifierContext : public antlr4::ParserRuleContext { public: RuleModifierContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *PUBLIC(); antlr4::tree::TerminalNode *PRIVATE(); antlr4::tree::TerminalNode *PROTECTED(); antlr4::tree::TerminalNode *FRAGMENT(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; RuleModifierContext *ruleModifier(); class RuleBlockContext : public antlr4::ParserRuleContext { public: RuleBlockContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; RuleAltListContext *ruleAltList(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; RuleBlockContext *ruleBlock(); class RuleAltListContext : public antlr4::ParserRuleContext { public: RuleAltListContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; std::vector labeledAlt(); LabeledAltContext *labeledAlt(size_t i); std::vector OR(); antlr4::tree::TerminalNode *OR(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; RuleAltListContext *ruleAltList(); class LabeledAltContext : public antlr4::ParserRuleContext { public: LabeledAltContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; AlternativeContext *alternative(); antlr4::tree::TerminalNode *POUND(); IdentifierContext *identifier(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; LabeledAltContext *labeledAlt(); class LexerRuleSpecContext : public antlr4::ParserRuleContext { public: LexerRuleSpecContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *TOKEN_REF(); antlr4::tree::TerminalNode *COLON(); LexerRuleBlockContext *lexerRuleBlock(); antlr4::tree::TerminalNode *SEMI(); antlr4::tree::TerminalNode *FRAGMENT(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; LexerRuleSpecContext *lexerRuleSpec(); class LexerRuleBlockContext : public antlr4::ParserRuleContext { public: LexerRuleBlockContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; LexerAltListContext *lexerAltList(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; LexerRuleBlockContext *lexerRuleBlock(); class LexerAltListContext : public antlr4::ParserRuleContext { public: LexerAltListContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; std::vector lexerAlt(); LexerAltContext *lexerAlt(size_t i); std::vector OR(); antlr4::tree::TerminalNode *OR(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; LexerAltListContext *lexerAltList(); class LexerAltContext : public antlr4::ParserRuleContext { public: LexerAltContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; LexerElementsContext *lexerElements(); LexerCommandsContext *lexerCommands(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; LexerAltContext *lexerAlt(); class LexerElementsContext : public antlr4::ParserRuleContext { public: LexerElementsContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; std::vector lexerElement(); LexerElementContext *lexerElement(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; LexerElementsContext *lexerElements(); class LexerElementContext : public antlr4::ParserRuleContext { public: LexerElementContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; LabeledLexerElementContext *labeledLexerElement(); EbnfSuffixContext *ebnfSuffix(); LexerAtomContext *lexerAtom(); LexerBlockContext *lexerBlock(); ActionBlockContext *actionBlock(); antlr4::tree::TerminalNode *QUESTION(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; LexerElementContext *lexerElement(); class LabeledLexerElementContext : public antlr4::ParserRuleContext { public: LabeledLexerElementContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; IdentifierContext *identifier(); antlr4::tree::TerminalNode *ASSIGN(); antlr4::tree::TerminalNode *PLUS_ASSIGN(); LexerAtomContext *lexerAtom(); LexerBlockContext *lexerBlock(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; LabeledLexerElementContext *labeledLexerElement(); class LexerBlockContext : public antlr4::ParserRuleContext { public: LexerBlockContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *LPAREN(); LexerAltListContext *lexerAltList(); antlr4::tree::TerminalNode *RPAREN(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; LexerBlockContext *lexerBlock(); class LexerCommandsContext : public antlr4::ParserRuleContext { public: LexerCommandsContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *RARROW(); std::vector lexerCommand(); LexerCommandContext *lexerCommand(size_t i); std::vector COMMA(); antlr4::tree::TerminalNode *COMMA(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; LexerCommandsContext *lexerCommands(); class LexerCommandContext : public antlr4::ParserRuleContext { public: LexerCommandContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; LexerCommandNameContext *lexerCommandName(); antlr4::tree::TerminalNode *LPAREN(); LexerCommandExprContext *lexerCommandExpr(); antlr4::tree::TerminalNode *RPAREN(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; LexerCommandContext *lexerCommand(); class LexerCommandNameContext : public antlr4::ParserRuleContext { public: LexerCommandNameContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; IdentifierContext *identifier(); antlr4::tree::TerminalNode *MODE(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; LexerCommandNameContext *lexerCommandName(); class LexerCommandExprContext : public antlr4::ParserRuleContext { public: LexerCommandExprContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; IdentifierContext *identifier(); antlr4::tree::TerminalNode *INT(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; LexerCommandExprContext *lexerCommandExpr(); class AltListContext : public antlr4::ParserRuleContext { public: AltListContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; std::vector alternative(); AlternativeContext *alternative(size_t i); std::vector OR(); antlr4::tree::TerminalNode *OR(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; AltListContext *altList(); class AlternativeContext : public antlr4::ParserRuleContext { public: AlternativeContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; ElementOptionsContext *elementOptions(); std::vector element(); ElementContext *element(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; AlternativeContext *alternative(); class ElementContext : public antlr4::ParserRuleContext { public: ElementContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; LabeledElementContext *labeledElement(); EbnfSuffixContext *ebnfSuffix(); AtomContext *atom(); EbnfContext *ebnf(); ActionBlockContext *actionBlock(); antlr4::tree::TerminalNode *QUESTION(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; ElementContext *element(); class LabeledElementContext : public antlr4::ParserRuleContext { public: LabeledElementContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; IdentifierContext *identifier(); antlr4::tree::TerminalNode *ASSIGN(); antlr4::tree::TerminalNode *PLUS_ASSIGN(); AtomContext *atom(); BlockContext *block(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; LabeledElementContext *labeledElement(); class EbnfContext : public antlr4::ParserRuleContext { public: EbnfContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; BlockContext *block(); BlockSuffixContext *blockSuffix(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; EbnfContext *ebnf(); class BlockSuffixContext : public antlr4::ParserRuleContext { public: BlockSuffixContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; EbnfSuffixContext *ebnfSuffix(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; BlockSuffixContext *blockSuffix(); class EbnfSuffixContext : public antlr4::ParserRuleContext { public: EbnfSuffixContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; std::vector QUESTION(); antlr4::tree::TerminalNode *QUESTION(size_t i); antlr4::tree::TerminalNode *STAR(); antlr4::tree::TerminalNode *PLUS(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; EbnfSuffixContext *ebnfSuffix(); class LexerAtomContext : public antlr4::ParserRuleContext { public: LexerAtomContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; CharacterRangeContext *characterRange(); TerminalContext *terminal(); NotSetContext *notSet(); antlr4::tree::TerminalNode *LEXER_CHAR_SET(); antlr4::tree::TerminalNode *DOT(); ElementOptionsContext *elementOptions(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; LexerAtomContext *lexerAtom(); class AtomContext : public antlr4::ParserRuleContext { public: AtomContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; TerminalContext *terminal(); RulerefContext *ruleref(); NotSetContext *notSet(); antlr4::tree::TerminalNode *DOT(); ElementOptionsContext *elementOptions(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; AtomContext *atom(); class NotSetContext : public antlr4::ParserRuleContext { public: NotSetContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *NOT(); SetElementContext *setElement(); BlockSetContext *blockSet(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; NotSetContext *notSet(); class BlockSetContext : public antlr4::ParserRuleContext { public: BlockSetContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *LPAREN(); std::vector setElement(); SetElementContext *setElement(size_t i); antlr4::tree::TerminalNode *RPAREN(); std::vector OR(); antlr4::tree::TerminalNode *OR(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; BlockSetContext *blockSet(); class SetElementContext : public antlr4::ParserRuleContext { public: SetElementContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *TOKEN_REF(); ElementOptionsContext *elementOptions(); antlr4::tree::TerminalNode *STRING_LITERAL(); CharacterRangeContext *characterRange(); antlr4::tree::TerminalNode *LEXER_CHAR_SET(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; SetElementContext *setElement(); class BlockContext : public antlr4::ParserRuleContext { public: BlockContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *LPAREN(); AltListContext *altList(); antlr4::tree::TerminalNode *RPAREN(); antlr4::tree::TerminalNode *COLON(); OptionsSpecContext *optionsSpec(); std::vector ruleAction(); RuleActionContext *ruleAction(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; BlockContext *block(); class RulerefContext : public antlr4::ParserRuleContext { public: RulerefContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *RULE_REF(); ArgActionBlockContext *argActionBlock(); ElementOptionsContext *elementOptions(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; RulerefContext *ruleref(); class CharacterRangeContext : public antlr4::ParserRuleContext { public: CharacterRangeContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; std::vector STRING_LITERAL(); antlr4::tree::TerminalNode *STRING_LITERAL(size_t i); antlr4::tree::TerminalNode *RANGE(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; CharacterRangeContext *characterRange(); class TerminalContext : public antlr4::ParserRuleContext { public: TerminalContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *TOKEN_REF(); ElementOptionsContext *elementOptions(); antlr4::tree::TerminalNode *STRING_LITERAL(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; TerminalContext *terminal(); class ElementOptionsContext : public antlr4::ParserRuleContext { public: ElementOptionsContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *LT(); std::vector elementOption(); ElementOptionContext *elementOption(size_t i); antlr4::tree::TerminalNode *GT(); std::vector COMMA(); antlr4::tree::TerminalNode *COMMA(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; ElementOptionsContext *elementOptions(); class ElementOptionContext : public antlr4::ParserRuleContext { public: ElementOptionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; std::vector identifier(); IdentifierContext *identifier(size_t i); antlr4::tree::TerminalNode *ASSIGN(); antlr4::tree::TerminalNode *STRING_LITERAL(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; ElementOptionContext *elementOption(); class IdentifierContext : public antlr4::ParserRuleContext { public: IdentifierContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *RULE_REF(); antlr4::tree::TerminalNode *TOKEN_REF(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; IdentifierContext *identifier(); // By default the static state used to implement the parser 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: }; } // namespace antlr4_grammar #endif // ANTLR4_GEN_ANTLRV_PARSER_H