
// Generated from Antlr4RoslynParser.g4 by ANTLR 4.8

// Unreachable code detected
#pragma warning disable 0162
// The variable '...' is assigned but its value is never used
#pragma warning disable 0219
// Missing XML comment for publicly visible type or member '...'
#pragma warning disable 1591
// Ambiguous reference in cref attribute
#pragma warning disable 419

namespace MetaDslx.Languages.Antlr4Roslyn.Syntax.InternalSyntax {

using Antlr4.Runtime.Misc;
using IErrorNode = Antlr4.Runtime.Tree.IErrorNode;
using ITerminalNode = Antlr4.Runtime.Tree.ITerminalNode;
using IToken = Antlr4.Runtime.IToken;
using ParserRuleContext = Antlr4.Runtime.ParserRuleContext;

/// <summary>
/// This class provides an empty implementation of <see cref="IAntlr4RoslynParserListener"/>,
/// which can be extended to create a listener which only needs to handle a subset
/// of the available methods.
/// </summary>
[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.8")]
[System.CLSCompliant(false)]
public partial class Antlr4RoslynParserBaseListener : IAntlr4RoslynParserListener {
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.grammarSpec"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterGrammarSpec([NotNull] Antlr4RoslynParser.GrammarSpecContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.grammarSpec"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitGrammarSpec([NotNull] Antlr4RoslynParser.GrammarSpecContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.grammarType"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterGrammarType([NotNull] Antlr4RoslynParser.GrammarTypeContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.grammarType"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitGrammarType([NotNull] Antlr4RoslynParser.GrammarTypeContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.prequelConstruct"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterPrequelConstruct([NotNull] Antlr4RoslynParser.PrequelConstructContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.prequelConstruct"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitPrequelConstruct([NotNull] Antlr4RoslynParser.PrequelConstructContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.optionsSpec"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterOptionsSpec([NotNull] Antlr4RoslynParser.OptionsSpecContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.optionsSpec"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitOptionsSpec([NotNull] Antlr4RoslynParser.OptionsSpecContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.option"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterOption([NotNull] Antlr4RoslynParser.OptionContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.option"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitOption([NotNull] Antlr4RoslynParser.OptionContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.optionValue"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterOptionValue([NotNull] Antlr4RoslynParser.OptionValueContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.optionValue"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitOptionValue([NotNull] Antlr4RoslynParser.OptionValueContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.delegateGrammars"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterDelegateGrammars([NotNull] Antlr4RoslynParser.DelegateGrammarsContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.delegateGrammars"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitDelegateGrammars([NotNull] Antlr4RoslynParser.DelegateGrammarsContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.delegateGrammar"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterDelegateGrammar([NotNull] Antlr4RoslynParser.DelegateGrammarContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.delegateGrammar"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitDelegateGrammar([NotNull] Antlr4RoslynParser.DelegateGrammarContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.tokensSpec"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterTokensSpec([NotNull] Antlr4RoslynParser.TokensSpecContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.tokensSpec"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitTokensSpec([NotNull] Antlr4RoslynParser.TokensSpecContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.channelsSpec"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterChannelsSpec([NotNull] Antlr4RoslynParser.ChannelsSpecContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.channelsSpec"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitChannelsSpec([NotNull] Antlr4RoslynParser.ChannelsSpecContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.idList"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterIdList([NotNull] Antlr4RoslynParser.IdListContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.idList"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitIdList([NotNull] Antlr4RoslynParser.IdListContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.annotatedIdentifier"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterAnnotatedIdentifier([NotNull] Antlr4RoslynParser.AnnotatedIdentifierContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.annotatedIdentifier"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitAnnotatedIdentifier([NotNull] Antlr4RoslynParser.AnnotatedIdentifierContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.action"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterAction([NotNull] Antlr4RoslynParser.ActionContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.action"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitAction([NotNull] Antlr4RoslynParser.ActionContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.actionScopeName"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterActionScopeName([NotNull] Antlr4RoslynParser.ActionScopeNameContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.actionScopeName"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitActionScopeName([NotNull] Antlr4RoslynParser.ActionScopeNameContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.actionBlock"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterActionBlock([NotNull] Antlr4RoslynParser.ActionBlockContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.actionBlock"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitActionBlock([NotNull] Antlr4RoslynParser.ActionBlockContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.argActionBlock"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterArgActionBlock([NotNull] Antlr4RoslynParser.ArgActionBlockContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.argActionBlock"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitArgActionBlock([NotNull] Antlr4RoslynParser.ArgActionBlockContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.modeSpec"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterModeSpec([NotNull] Antlr4RoslynParser.ModeSpecContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.modeSpec"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitModeSpec([NotNull] Antlr4RoslynParser.ModeSpecContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.rules"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterRules([NotNull] Antlr4RoslynParser.RulesContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.rules"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitRules([NotNull] Antlr4RoslynParser.RulesContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.ruleSpec"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterRuleSpec([NotNull] Antlr4RoslynParser.RuleSpecContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.ruleSpec"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitRuleSpec([NotNull] Antlr4RoslynParser.RuleSpecContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.parserRuleSpec"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterParserRuleSpec([NotNull] Antlr4RoslynParser.ParserRuleSpecContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.parserRuleSpec"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitParserRuleSpec([NotNull] Antlr4RoslynParser.ParserRuleSpecContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.exceptionGroup"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterExceptionGroup([NotNull] Antlr4RoslynParser.ExceptionGroupContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.exceptionGroup"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitExceptionGroup([NotNull] Antlr4RoslynParser.ExceptionGroupContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.exceptionHandler"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterExceptionHandler([NotNull] Antlr4RoslynParser.ExceptionHandlerContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.exceptionHandler"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitExceptionHandler([NotNull] Antlr4RoslynParser.ExceptionHandlerContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.finallyClause"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterFinallyClause([NotNull] Antlr4RoslynParser.FinallyClauseContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.finallyClause"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitFinallyClause([NotNull] Antlr4RoslynParser.FinallyClauseContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.rulePrequel"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterRulePrequel([NotNull] Antlr4RoslynParser.RulePrequelContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.rulePrequel"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitRulePrequel([NotNull] Antlr4RoslynParser.RulePrequelContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.ruleReturns"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterRuleReturns([NotNull] Antlr4RoslynParser.RuleReturnsContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.ruleReturns"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitRuleReturns([NotNull] Antlr4RoslynParser.RuleReturnsContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.throwsSpec"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterThrowsSpec([NotNull] Antlr4RoslynParser.ThrowsSpecContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.throwsSpec"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitThrowsSpec([NotNull] Antlr4RoslynParser.ThrowsSpecContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.localsSpec"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterLocalsSpec([NotNull] Antlr4RoslynParser.LocalsSpecContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.localsSpec"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitLocalsSpec([NotNull] Antlr4RoslynParser.LocalsSpecContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.ruleAction"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterRuleAction([NotNull] Antlr4RoslynParser.RuleActionContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.ruleAction"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitRuleAction([NotNull] Antlr4RoslynParser.RuleActionContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.ruleModifiers"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterRuleModifiers([NotNull] Antlr4RoslynParser.RuleModifiersContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.ruleModifiers"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitRuleModifiers([NotNull] Antlr4RoslynParser.RuleModifiersContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.ruleModifier"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterRuleModifier([NotNull] Antlr4RoslynParser.RuleModifierContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.ruleModifier"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitRuleModifier([NotNull] Antlr4RoslynParser.RuleModifierContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.ruleBlock"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterRuleBlock([NotNull] Antlr4RoslynParser.RuleBlockContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.ruleBlock"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitRuleBlock([NotNull] Antlr4RoslynParser.RuleBlockContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.ruleAltList"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterRuleAltList([NotNull] Antlr4RoslynParser.RuleAltListContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.ruleAltList"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitRuleAltList([NotNull] Antlr4RoslynParser.RuleAltListContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.labeledAlt"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterLabeledAlt([NotNull] Antlr4RoslynParser.LabeledAltContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.labeledAlt"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitLabeledAlt([NotNull] Antlr4RoslynParser.LabeledAltContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.lexerRuleSpec"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterLexerRuleSpec([NotNull] Antlr4RoslynParser.LexerRuleSpecContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.lexerRuleSpec"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitLexerRuleSpec([NotNull] Antlr4RoslynParser.LexerRuleSpecContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.lexerRuleBlock"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterLexerRuleBlock([NotNull] Antlr4RoslynParser.LexerRuleBlockContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.lexerRuleBlock"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitLexerRuleBlock([NotNull] Antlr4RoslynParser.LexerRuleBlockContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.lexerAltList"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterLexerAltList([NotNull] Antlr4RoslynParser.LexerAltListContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.lexerAltList"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitLexerAltList([NotNull] Antlr4RoslynParser.LexerAltListContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.lexerAlt"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterLexerAlt([NotNull] Antlr4RoslynParser.LexerAltContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.lexerAlt"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitLexerAlt([NotNull] Antlr4RoslynParser.LexerAltContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.lexerElements"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterLexerElements([NotNull] Antlr4RoslynParser.LexerElementsContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.lexerElements"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitLexerElements([NotNull] Antlr4RoslynParser.LexerElementsContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.lexerElement"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterLexerElement([NotNull] Antlr4RoslynParser.LexerElementContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.lexerElement"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitLexerElement([NotNull] Antlr4RoslynParser.LexerElementContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.labeledLexerElement"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterLabeledLexerElement([NotNull] Antlr4RoslynParser.LabeledLexerElementContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.labeledLexerElement"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitLabeledLexerElement([NotNull] Antlr4RoslynParser.LabeledLexerElementContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.lexerBlock"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterLexerBlock([NotNull] Antlr4RoslynParser.LexerBlockContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.lexerBlock"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitLexerBlock([NotNull] Antlr4RoslynParser.LexerBlockContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.lexerCommands"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterLexerCommands([NotNull] Antlr4RoslynParser.LexerCommandsContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.lexerCommands"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitLexerCommands([NotNull] Antlr4RoslynParser.LexerCommandsContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.lexerCommand"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterLexerCommand([NotNull] Antlr4RoslynParser.LexerCommandContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.lexerCommand"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitLexerCommand([NotNull] Antlr4RoslynParser.LexerCommandContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.lexerCommandName"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterLexerCommandName([NotNull] Antlr4RoslynParser.LexerCommandNameContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.lexerCommandName"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitLexerCommandName([NotNull] Antlr4RoslynParser.LexerCommandNameContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.lexerCommandExpr"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterLexerCommandExpr([NotNull] Antlr4RoslynParser.LexerCommandExprContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.lexerCommandExpr"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitLexerCommandExpr([NotNull] Antlr4RoslynParser.LexerCommandExprContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.altList"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterAltList([NotNull] Antlr4RoslynParser.AltListContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.altList"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitAltList([NotNull] Antlr4RoslynParser.AltListContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.alternative"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterAlternative([NotNull] Antlr4RoslynParser.AlternativeContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.alternative"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitAlternative([NotNull] Antlr4RoslynParser.AlternativeContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.element"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterElement([NotNull] Antlr4RoslynParser.ElementContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.element"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitElement([NotNull] Antlr4RoslynParser.ElementContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.labeledElement"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterLabeledElement([NotNull] Antlr4RoslynParser.LabeledElementContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.labeledElement"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitLabeledElement([NotNull] Antlr4RoslynParser.LabeledElementContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.ebnf"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterEbnf([NotNull] Antlr4RoslynParser.EbnfContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.ebnf"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitEbnf([NotNull] Antlr4RoslynParser.EbnfContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.blockSuffix"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterBlockSuffix([NotNull] Antlr4RoslynParser.BlockSuffixContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.blockSuffix"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitBlockSuffix([NotNull] Antlr4RoslynParser.BlockSuffixContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.ebnfSuffix"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterEbnfSuffix([NotNull] Antlr4RoslynParser.EbnfSuffixContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.ebnfSuffix"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitEbnfSuffix([NotNull] Antlr4RoslynParser.EbnfSuffixContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.lexerAtom"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterLexerAtom([NotNull] Antlr4RoslynParser.LexerAtomContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.lexerAtom"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitLexerAtom([NotNull] Antlr4RoslynParser.LexerAtomContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.atom"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterAtom([NotNull] Antlr4RoslynParser.AtomContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.atom"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitAtom([NotNull] Antlr4RoslynParser.AtomContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.notSet"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterNotSet([NotNull] Antlr4RoslynParser.NotSetContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.notSet"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitNotSet([NotNull] Antlr4RoslynParser.NotSetContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.blockSet"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterBlockSet([NotNull] Antlr4RoslynParser.BlockSetContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.blockSet"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitBlockSet([NotNull] Antlr4RoslynParser.BlockSetContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.setElement"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterSetElement([NotNull] Antlr4RoslynParser.SetElementContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.setElement"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitSetElement([NotNull] Antlr4RoslynParser.SetElementContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.block"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterBlock([NotNull] Antlr4RoslynParser.BlockContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.block"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitBlock([NotNull] Antlr4RoslynParser.BlockContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.ruleref"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterRuleref([NotNull] Antlr4RoslynParser.RulerefContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.ruleref"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitRuleref([NotNull] Antlr4RoslynParser.RulerefContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.characterRange"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterCharacterRange([NotNull] Antlr4RoslynParser.CharacterRangeContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.characterRange"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitCharacterRange([NotNull] Antlr4RoslynParser.CharacterRangeContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.terminal"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterTerminal([NotNull] Antlr4RoslynParser.TerminalContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.terminal"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitTerminal([NotNull] Antlr4RoslynParser.TerminalContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.elementOptions"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterElementOptions([NotNull] Antlr4RoslynParser.ElementOptionsContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.elementOptions"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitElementOptions([NotNull] Antlr4RoslynParser.ElementOptionsContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.elementOption"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterElementOption([NotNull] Antlr4RoslynParser.ElementOptionContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.elementOption"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitElementOption([NotNull] Antlr4RoslynParser.ElementOptionContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.identifier"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterIdentifier([NotNull] Antlr4RoslynParser.IdentifierContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.identifier"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitIdentifier([NotNull] Antlr4RoslynParser.IdentifierContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.annotation"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterAnnotation([NotNull] Antlr4RoslynParser.AnnotationContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.annotation"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitAnnotation([NotNull] Antlr4RoslynParser.AnnotationContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.annotationBody"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterAnnotationBody([NotNull] Antlr4RoslynParser.AnnotationBodyContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.annotationBody"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitAnnotationBody([NotNull] Antlr4RoslynParser.AnnotationBodyContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.annotationAttributeList"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterAnnotationAttributeList([NotNull] Antlr4RoslynParser.AnnotationAttributeListContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.annotationAttributeList"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitAnnotationAttributeList([NotNull] Antlr4RoslynParser.AnnotationAttributeListContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.annotationAttribute"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterAnnotationAttribute([NotNull] Antlr4RoslynParser.AnnotationAttributeContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.annotationAttribute"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitAnnotationAttribute([NotNull] Antlr4RoslynParser.AnnotationAttributeContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.expressionList"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterExpressionList([NotNull] Antlr4RoslynParser.ExpressionListContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.expressionList"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitExpressionList([NotNull] Antlr4RoslynParser.ExpressionListContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.qualifiedName"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterQualifiedName([NotNull] Antlr4RoslynParser.QualifiedNameContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.qualifiedName"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitQualifiedName([NotNull] Antlr4RoslynParser.QualifiedNameContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.expression"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterExpression([NotNull] Antlr4RoslynParser.ExpressionContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.expression"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitExpression([NotNull] Antlr4RoslynParser.ExpressionContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.literal"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterLiteral([NotNull] Antlr4RoslynParser.LiteralContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.literal"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitLiteral([NotNull] Antlr4RoslynParser.LiteralContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.annotationIdentifier"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterAnnotationIdentifier([NotNull] Antlr4RoslynParser.AnnotationIdentifierContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.annotationIdentifier"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitAnnotationIdentifier([NotNull] Antlr4RoslynParser.AnnotationIdentifierContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.boolLiteral"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterBoolLiteral([NotNull] Antlr4RoslynParser.BoolLiteralContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.boolLiteral"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitBoolLiteral([NotNull] Antlr4RoslynParser.BoolLiteralContext context) { }
	/// <summary>
	/// Enter a parse tree produced by <see cref="Antlr4RoslynParser.nullLiteral"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void EnterNullLiteral([NotNull] Antlr4RoslynParser.NullLiteralContext context) { }
	/// <summary>
	/// Exit a parse tree produced by <see cref="Antlr4RoslynParser.nullLiteral"/>.
	/// <para>The default implementation does nothing.</para>
	/// </summary>
	/// <param name="context">The parse tree.</param>
	public virtual void ExitNullLiteral([NotNull] Antlr4RoslynParser.NullLiteralContext context) { }

	/// <inheritdoc/>
	/// <remarks>The default implementation does nothing.</remarks>
	public virtual void EnterEveryRule([NotNull] ParserRuleContext context) { }
	/// <inheritdoc/>
	/// <remarks>The default implementation does nothing.</remarks>
	public virtual void ExitEveryRule([NotNull] ParserRuleContext context) { }
	/// <inheritdoc/>
	/// <remarks>The default implementation does nothing.</remarks>
	public virtual void VisitTerminal([NotNull] ITerminalNode node) { }
	/// <inheritdoc/>
	/// <remarks>The default implementation does nothing.</remarks>
	public virtual void VisitErrorNode([NotNull] IErrorNode node) { }
}
} // namespace MetaDslx.Languages.Antlr4Roslyn.Syntax.InternalSyntax
