/*
 * This file was auto-generated by speedy-antlr-tool v1.4.3
 *  https://github.com/amykyta3/speedy-antlr-tool
 */

#pragma once

#include "FandangoParserBaseVisitor.h"
#include "speedy_antlr.h"

class SA_FandangoTranslator : public FandangoParserBaseVisitor {
    speedy_antlr::Translator *translator;

    // Cached context classes
    PyObject *FandangoContext_cls = NULL;
    PyObject *ProgramContext_cls = NULL;
    PyObject *StatementContext_cls = NULL;
    PyObject *ProductionContext_cls = NULL;
    PyObject *AlternativeContext_cls = NULL;
    PyObject *ConcatenationContext_cls = NULL;
    PyObject *OperatorContext_cls = NULL;
    PyObject *KleeneContext_cls = NULL;
    PyObject *PlusContext_cls = NULL;
    PyObject *OptionContext_cls = NULL;
    PyObject *RepeatContext_cls = NULL;
    PyObject *SymbolContext_cls = NULL;
    PyObject *Nonterminal_rightContext_cls = NULL;
    PyObject *NonterminalContext_cls = NULL;
    PyObject *Generator_callContext_cls = NULL;
    PyObject *Char_setContext_cls = NULL;
    PyObject *ConstraintContext_cls = NULL;
    PyObject *ImpliesContext_cls = NULL;
    PyObject *QuantifierContext_cls = NULL;
    PyObject *Quantifier_in_lineContext_cls = NULL;
    PyObject *Formula_disjunctionContext_cls = NULL;
    PyObject *Formula_conjunctionContext_cls = NULL;
    PyObject *Formula_atomContext_cls = NULL;
    PyObject *Formula_comparisonContext_cls = NULL;
    PyObject *ExprContext_cls = NULL;
    PyObject *Selector_lengthContext_cls = NULL;
    PyObject *Star_selection_or_dot_selectionContext_cls = NULL;
    PyObject *Star_selectionContext_cls = NULL;
    PyObject *Dot_selectionContext_cls = NULL;
    PyObject *SelectionContext_cls = NULL;
    PyObject *Base_selectionContext_cls = NULL;
    PyObject *Rs_pairsContext_cls = NULL;
    PyObject *Rs_pairContext_cls = NULL;
    PyObject *Rs_slicesContext_cls = NULL;
    PyObject *Rs_sliceContext_cls = NULL;
    PyObject *PythonContext_cls = NULL;
    PyObject *Python_tagContext_cls = NULL;
    PyObject *Grammar_settingContext_cls = NULL;
    PyObject *Grammar_setting_contentContext_cls = NULL;
    PyObject *Grammar_selectorContext_cls = NULL;
    PyObject *Grammar_ruleContext_cls = NULL;
    PyObject *Grammar_setting_keyContext_cls = NULL;
    PyObject *Grammar_setting_valueContext_cls = NULL;
    PyObject *Python_fileContext_cls = NULL;
    PyObject *InteractiveContext_cls = NULL;
    PyObject *EvalContext_cls = NULL;
    PyObject *Func_typeContext_cls = NULL;
    PyObject *StatementsContext_cls = NULL;
    PyObject *StmtContext_cls = NULL;
    PyObject *Statement_newlineContext_cls = NULL;
    PyObject *Simple_stmtsContext_cls = NULL;
    PyObject *Simple_stmtContext_cls = NULL;
    PyObject *Compound_stmtContext_cls = NULL;
    PyObject *AssignmentContext_cls = NULL;
    PyObject *Annotated_rhsContext_cls = NULL;
    PyObject *AugassignContext_cls = NULL;
    PyObject *Return_stmtContext_cls = NULL;
    PyObject *Raise_stmtContext_cls = NULL;
    PyObject *Global_stmtContext_cls = NULL;
    PyObject *Nonlocal_stmtContext_cls = NULL;
    PyObject *Del_stmtContext_cls = NULL;
    PyObject *Yield_stmtContext_cls = NULL;
    PyObject *Assert_stmtContext_cls = NULL;
    PyObject *Import_stmtContext_cls = NULL;
    PyObject *Import_nameContext_cls = NULL;
    PyObject *Import_fromContext_cls = NULL;
    PyObject *Import_from_targetsContext_cls = NULL;
    PyObject *Import_from_as_namesContext_cls = NULL;
    PyObject *Import_from_as_nameContext_cls = NULL;
    PyObject *Dotted_as_namesContext_cls = NULL;
    PyObject *Dotted_as_nameContext_cls = NULL;
    PyObject *Dotted_nameContext_cls = NULL;
    PyObject *BlockContext_cls = NULL;
    PyObject *DecoratorsContext_cls = NULL;
    PyObject *Class_defContext_cls = NULL;
    PyObject *Class_def_rawContext_cls = NULL;
    PyObject *Function_defContext_cls = NULL;
    PyObject *Function_def_rawContext_cls = NULL;
    PyObject *ParamsContext_cls = NULL;
    PyObject *ParametersContext_cls = NULL;
    PyObject *Slash_no_defaultContext_cls = NULL;
    PyObject *Slash_with_defaultContext_cls = NULL;
    PyObject *Star_etcContext_cls = NULL;
    PyObject *KwdsContext_cls = NULL;
    PyObject *Param_no_defaultContext_cls = NULL;
    PyObject *Param_no_default_star_annotationContext_cls = NULL;
    PyObject *Param_with_defaultContext_cls = NULL;
    PyObject *Param_maybe_defaultContext_cls = NULL;
    PyObject *ParamContext_cls = NULL;
    PyObject *Param_star_annotationContext_cls = NULL;
    PyObject *AnnotationContext_cls = NULL;
    PyObject *Star_annotationContext_cls = NULL;
    PyObject *DefaultContext_cls = NULL;
    PyObject *If_stmtContext_cls = NULL;
    PyObject *Elif_stmtContext_cls = NULL;
    PyObject *Else_blockContext_cls = NULL;
    PyObject *While_stmtContext_cls = NULL;
    PyObject *For_stmtContext_cls = NULL;
    PyObject *With_stmtContext_cls = NULL;
    PyObject *With_itemContext_cls = NULL;
    PyObject *Try_stmtContext_cls = NULL;
    PyObject *Except_blockContext_cls = NULL;
    PyObject *Except_star_blockContext_cls = NULL;
    PyObject *Finally_blockContext_cls = NULL;
    PyObject *Match_stmtContext_cls = NULL;
    PyObject *Subject_exprContext_cls = NULL;
    PyObject *Case_blockContext_cls = NULL;
    PyObject *GuardContext_cls = NULL;
    PyObject *PatternsContext_cls = NULL;
    PyObject *PatternContext_cls = NULL;
    PyObject *As_patternContext_cls = NULL;
    PyObject *Or_patternContext_cls = NULL;
    PyObject *Closed_patternContext_cls = NULL;
    PyObject *Literal_patternContext_cls = NULL;
    PyObject *Literal_exprContext_cls = NULL;
    PyObject *Complex_numberContext_cls = NULL;
    PyObject *Signed_numberContext_cls = NULL;
    PyObject *Signed_real_numberContext_cls = NULL;
    PyObject *Real_numberContext_cls = NULL;
    PyObject *Imaginary_numberContext_cls = NULL;
    PyObject *Capture_patternContext_cls = NULL;
    PyObject *Pattern_capture_targetContext_cls = NULL;
    PyObject *Wildcard_patternContext_cls = NULL;
    PyObject *Value_patternContext_cls = NULL;
    PyObject *AttrContext_cls = NULL;
    PyObject *Name_or_attrContext_cls = NULL;
    PyObject *Group_patternContext_cls = NULL;
    PyObject *Sequence_patternContext_cls = NULL;
    PyObject *Open_sequence_patternContext_cls = NULL;
    PyObject *Maybe_sequence_patternContext_cls = NULL;
    PyObject *Maybe_star_patternContext_cls = NULL;
    PyObject *Star_patternContext_cls = NULL;
    PyObject *Mapping_patternContext_cls = NULL;
    PyObject *Items_patternContext_cls = NULL;
    PyObject *Key_value_patternContext_cls = NULL;
    PyObject *Double_star_patternContext_cls = NULL;
    PyObject *Class_patternContext_cls = NULL;
    PyObject *Positional_patternsContext_cls = NULL;
    PyObject *Keyword_patternsContext_cls = NULL;
    PyObject *Keyword_patternContext_cls = NULL;
    PyObject *Type_aliasContext_cls = NULL;
    PyObject *Type_paramsContext_cls = NULL;
    PyObject *Type_param_seqContext_cls = NULL;
    PyObject *Type_paramContext_cls = NULL;
    PyObject *Type_param_boundContext_cls = NULL;
    PyObject *ExpressionsContext_cls = NULL;
    PyObject *ExpressionContext_cls = NULL;
    PyObject *Yield_exprContext_cls = NULL;
    PyObject *Star_expressionsContext_cls = NULL;
    PyObject *Star_expressionContext_cls = NULL;
    PyObject *Star_named_expressionsContext_cls = NULL;
    PyObject *Star_named_expressionContext_cls = NULL;
    PyObject *Assignment_expressionContext_cls = NULL;
    PyObject *Named_expressionContext_cls = NULL;
    PyObject *DisjunctionContext_cls = NULL;
    PyObject *ConjunctionContext_cls = NULL;
    PyObject *InversionContext_cls = NULL;
    PyObject *ComparisonContext_cls = NULL;
    PyObject *Compare_op_bitwise_or_pairContext_cls = NULL;
    PyObject *Eq_bitwise_orContext_cls = NULL;
    PyObject *Noteq_bitwise_orContext_cls = NULL;
    PyObject *Lte_bitwise_orContext_cls = NULL;
    PyObject *Lt_bitwise_orContext_cls = NULL;
    PyObject *Gte_bitwise_orContext_cls = NULL;
    PyObject *Gt_bitwise_orContext_cls = NULL;
    PyObject *Notin_bitwise_orContext_cls = NULL;
    PyObject *In_bitwise_orContext_cls = NULL;
    PyObject *Isnot_bitwise_orContext_cls = NULL;
    PyObject *Is_bitwise_orContext_cls = NULL;
    PyObject *Bitwise_orContext_cls = NULL;
    PyObject *Bitwise_xorContext_cls = NULL;
    PyObject *Bitwise_andContext_cls = NULL;
    PyObject *Shift_exprContext_cls = NULL;
    PyObject *SumContext_cls = NULL;
    PyObject *TermContext_cls = NULL;
    PyObject *FactorContext_cls = NULL;
    PyObject *PowerContext_cls = NULL;
    PyObject *Await_primaryContext_cls = NULL;
    PyObject *PrimaryContext_cls = NULL;
    PyObject *SlicesContext_cls = NULL;
    PyObject *SliceContext_cls = NULL;
    PyObject *AtomContext_cls = NULL;
    PyObject *GroupContext_cls = NULL;
    PyObject *LambdefContext_cls = NULL;
    PyObject *Lambda_paramsContext_cls = NULL;
    PyObject *Lambda_parametersContext_cls = NULL;
    PyObject *Lambda_slash_no_defaultContext_cls = NULL;
    PyObject *Lambda_slash_with_defaultContext_cls = NULL;
    PyObject *Lambda_star_etcContext_cls = NULL;
    PyObject *Lambda_kwdsContext_cls = NULL;
    PyObject *Lambda_param_no_defaultContext_cls = NULL;
    PyObject *Lambda_param_with_defaultContext_cls = NULL;
    PyObject *Lambda_param_maybe_defaultContext_cls = NULL;
    PyObject *Lambda_paramContext_cls = NULL;
    PyObject *Fstring_middle_no_quoteContext_cls = NULL;
    PyObject *Fstring_middle_no_single_quoteContext_cls = NULL;
    PyObject *Fstring_middle_breaks_no_triple_quoteContext_cls = NULL;
    PyObject *Fstring_middle_breaks_no_triple_single_quoteContext_cls = NULL;
    PyObject *Fstring_any_no_quoteContext_cls = NULL;
    PyObject *Fstring_any_no_single_quoteContext_cls = NULL;
    PyObject *Fstring_middleContext_cls = NULL;
    PyObject *Fstring_any_breaks_no_triple_quoteContext_cls = NULL;
    PyObject *Fstring_any_breaks_no_triple_single_quoteContext_cls = NULL;
    PyObject *Fstring_anyContext_cls = NULL;
    PyObject *Fstring_replacement_fieldContext_cls = NULL;
    PyObject *Fstring_conversionContext_cls = NULL;
    PyObject *Fstring_full_format_specContext_cls = NULL;
    PyObject *Fstring_format_specContext_cls = NULL;
    PyObject *FstringContext_cls = NULL;
    PyObject *StringContext_cls = NULL;
    PyObject *StringsContext_cls = NULL;
    PyObject *ListContext_cls = NULL;
    PyObject *TupleContext_cls = NULL;
    PyObject *SetContext_cls = NULL;
    PyObject *DictContext_cls = NULL;
    PyObject *Double_starred_kvpairsContext_cls = NULL;
    PyObject *Double_starred_kvpairContext_cls = NULL;
    PyObject *KvpairContext_cls = NULL;
    PyObject *For_if_clausesContext_cls = NULL;
    PyObject *For_if_clauseContext_cls = NULL;
    PyObject *ListcompContext_cls = NULL;
    PyObject *SetcompContext_cls = NULL;
    PyObject *GenexpContext_cls = NULL;
    PyObject *DictcompContext_cls = NULL;
    PyObject *ArgumentsContext_cls = NULL;
    PyObject *ArgsContext_cls = NULL;
    PyObject *ArgContext_cls = NULL;
    PyObject *KwargsContext_cls = NULL;
    PyObject *Starred_expressionContext_cls = NULL;
    PyObject *Kwarg_or_starredContext_cls = NULL;
    PyObject *Kwarg_or_double_starredContext_cls = NULL;
    PyObject *Star_targetsContext_cls = NULL;
    PyObject *Star_targets_list_seqContext_cls = NULL;
    PyObject *Star_targets_tuple_seqContext_cls = NULL;
    PyObject *Star_targetContext_cls = NULL;
    PyObject *Target_with_star_atomContext_cls = NULL;
    PyObject *Star_atomContext_cls = NULL;
    PyObject *Single_targetContext_cls = NULL;
    PyObject *Single_subscript_attribute_targetContext_cls = NULL;
    PyObject *T_primaryContext_cls = NULL;
    PyObject *Del_targetsContext_cls = NULL;
    PyObject *Del_targetContext_cls = NULL;
    PyObject *Del_t_atomContext_cls = NULL;
    PyObject *Type_expressionsContext_cls = NULL;
    PyObject *Func_type_commentContext_cls = NULL;
    PyObject *IdentifierContext_cls = NULL;

    public:
    SA_FandangoTranslator(speedy_antlr::Translator *translator);
    ~SA_FandangoTranslator();
    antlrcpp::Any visitFandango(FandangoParser::FandangoContext *ctx);

    antlrcpp::Any visitProgram(FandangoParser::ProgramContext *ctx);

    antlrcpp::Any visitStatement(FandangoParser::StatementContext *ctx);

    antlrcpp::Any visitProduction(FandangoParser::ProductionContext *ctx);

    antlrcpp::Any visitAlternative(FandangoParser::AlternativeContext *ctx);

    antlrcpp::Any visitConcatenation(FandangoParser::ConcatenationContext *ctx);

    antlrcpp::Any visitOperator(FandangoParser::OperatorContext *ctx);

    antlrcpp::Any visitKleene(FandangoParser::KleeneContext *ctx);

    antlrcpp::Any visitPlus(FandangoParser::PlusContext *ctx);

    antlrcpp::Any visitOption(FandangoParser::OptionContext *ctx);

    antlrcpp::Any visitRepeat(FandangoParser::RepeatContext *ctx);

    antlrcpp::Any visitSymbol(FandangoParser::SymbolContext *ctx);

    antlrcpp::Any visitNonterminal_right(FandangoParser::Nonterminal_rightContext *ctx);

    antlrcpp::Any visitNonterminal(FandangoParser::NonterminalContext *ctx);

    antlrcpp::Any visitGenerator_call(FandangoParser::Generator_callContext *ctx);

    antlrcpp::Any visitChar_set(FandangoParser::Char_setContext *ctx);

    antlrcpp::Any visitConstraint(FandangoParser::ConstraintContext *ctx);

    antlrcpp::Any visitImplies(FandangoParser::ImpliesContext *ctx);

    antlrcpp::Any visitQuantifier(FandangoParser::QuantifierContext *ctx);

    antlrcpp::Any visitQuantifier_in_line(FandangoParser::Quantifier_in_lineContext *ctx);

    antlrcpp::Any visitFormula_disjunction(FandangoParser::Formula_disjunctionContext *ctx);

    antlrcpp::Any visitFormula_conjunction(FandangoParser::Formula_conjunctionContext *ctx);

    antlrcpp::Any visitFormula_atom(FandangoParser::Formula_atomContext *ctx);

    antlrcpp::Any visitFormula_comparison(FandangoParser::Formula_comparisonContext *ctx);

    antlrcpp::Any visitExpr(FandangoParser::ExprContext *ctx);

    antlrcpp::Any visitSelector_length(FandangoParser::Selector_lengthContext *ctx);

    antlrcpp::Any visitStar_selection_or_dot_selection(FandangoParser::Star_selection_or_dot_selectionContext *ctx);

    antlrcpp::Any visitStar_selection(FandangoParser::Star_selectionContext *ctx);

    antlrcpp::Any visitDot_selection(FandangoParser::Dot_selectionContext *ctx);

    antlrcpp::Any visitSelection(FandangoParser::SelectionContext *ctx);

    antlrcpp::Any visitBase_selection(FandangoParser::Base_selectionContext *ctx);

    antlrcpp::Any visitRs_pairs(FandangoParser::Rs_pairsContext *ctx);

    antlrcpp::Any visitRs_pair(FandangoParser::Rs_pairContext *ctx);

    antlrcpp::Any visitRs_slices(FandangoParser::Rs_slicesContext *ctx);

    antlrcpp::Any visitRs_slice(FandangoParser::Rs_sliceContext *ctx);

    antlrcpp::Any visitPython(FandangoParser::PythonContext *ctx);

    antlrcpp::Any visitPython_tag(FandangoParser::Python_tagContext *ctx);

    antlrcpp::Any visitGrammar_setting(FandangoParser::Grammar_settingContext *ctx);

    antlrcpp::Any visitGrammar_setting_content(FandangoParser::Grammar_setting_contentContext *ctx);

    antlrcpp::Any visitGrammar_selector(FandangoParser::Grammar_selectorContext *ctx);

    antlrcpp::Any visitGrammar_rule(FandangoParser::Grammar_ruleContext *ctx);

    antlrcpp::Any visitGrammar_setting_key(FandangoParser::Grammar_setting_keyContext *ctx);

    antlrcpp::Any visitGrammar_setting_value(FandangoParser::Grammar_setting_valueContext *ctx);

    antlrcpp::Any visitPython_file(FandangoParser::Python_fileContext *ctx);

    antlrcpp::Any visitInteractive(FandangoParser::InteractiveContext *ctx);

    antlrcpp::Any visitEval(FandangoParser::EvalContext *ctx);

    antlrcpp::Any visitFunc_type(FandangoParser::Func_typeContext *ctx);

    antlrcpp::Any visitStatements(FandangoParser::StatementsContext *ctx);

    antlrcpp::Any visitStmt(FandangoParser::StmtContext *ctx);

    antlrcpp::Any visitStatement_newline(FandangoParser::Statement_newlineContext *ctx);

    antlrcpp::Any visitSimple_stmts(FandangoParser::Simple_stmtsContext *ctx);

    antlrcpp::Any visitSimple_stmt(FandangoParser::Simple_stmtContext *ctx);

    antlrcpp::Any visitCompound_stmt(FandangoParser::Compound_stmtContext *ctx);

    antlrcpp::Any visitAssignment(FandangoParser::AssignmentContext *ctx);

    antlrcpp::Any visitAnnotated_rhs(FandangoParser::Annotated_rhsContext *ctx);

    antlrcpp::Any visitAugassign(FandangoParser::AugassignContext *ctx);

    antlrcpp::Any visitReturn_stmt(FandangoParser::Return_stmtContext *ctx);

    antlrcpp::Any visitRaise_stmt(FandangoParser::Raise_stmtContext *ctx);

    antlrcpp::Any visitGlobal_stmt(FandangoParser::Global_stmtContext *ctx);

    antlrcpp::Any visitNonlocal_stmt(FandangoParser::Nonlocal_stmtContext *ctx);

    antlrcpp::Any visitDel_stmt(FandangoParser::Del_stmtContext *ctx);

    antlrcpp::Any visitYield_stmt(FandangoParser::Yield_stmtContext *ctx);

    antlrcpp::Any visitAssert_stmt(FandangoParser::Assert_stmtContext *ctx);

    antlrcpp::Any visitImport_stmt(FandangoParser::Import_stmtContext *ctx);

    antlrcpp::Any visitImport_name(FandangoParser::Import_nameContext *ctx);

    antlrcpp::Any visitImport_from(FandangoParser::Import_fromContext *ctx);

    antlrcpp::Any visitImport_from_targets(FandangoParser::Import_from_targetsContext *ctx);

    antlrcpp::Any visitImport_from_as_names(FandangoParser::Import_from_as_namesContext *ctx);

    antlrcpp::Any visitImport_from_as_name(FandangoParser::Import_from_as_nameContext *ctx);

    antlrcpp::Any visitDotted_as_names(FandangoParser::Dotted_as_namesContext *ctx);

    antlrcpp::Any visitDotted_as_name(FandangoParser::Dotted_as_nameContext *ctx);

    antlrcpp::Any visitDotted_name(FandangoParser::Dotted_nameContext *ctx);

    antlrcpp::Any visitBlock(FandangoParser::BlockContext *ctx);

    antlrcpp::Any visitDecorators(FandangoParser::DecoratorsContext *ctx);

    antlrcpp::Any visitClass_def(FandangoParser::Class_defContext *ctx);

    antlrcpp::Any visitClass_def_raw(FandangoParser::Class_def_rawContext *ctx);

    antlrcpp::Any visitFunction_def(FandangoParser::Function_defContext *ctx);

    antlrcpp::Any visitFunction_def_raw(FandangoParser::Function_def_rawContext *ctx);

    antlrcpp::Any visitParams(FandangoParser::ParamsContext *ctx);

    antlrcpp::Any visitParameters(FandangoParser::ParametersContext *ctx);

    antlrcpp::Any visitSlash_no_default(FandangoParser::Slash_no_defaultContext *ctx);

    antlrcpp::Any visitSlash_with_default(FandangoParser::Slash_with_defaultContext *ctx);

    antlrcpp::Any visitStar_etc(FandangoParser::Star_etcContext *ctx);

    antlrcpp::Any visitKwds(FandangoParser::KwdsContext *ctx);

    antlrcpp::Any visitParam_no_default(FandangoParser::Param_no_defaultContext *ctx);

    antlrcpp::Any visitParam_no_default_star_annotation(FandangoParser::Param_no_default_star_annotationContext *ctx);

    antlrcpp::Any visitParam_with_default(FandangoParser::Param_with_defaultContext *ctx);

    antlrcpp::Any visitParam_maybe_default(FandangoParser::Param_maybe_defaultContext *ctx);

    antlrcpp::Any visitParam(FandangoParser::ParamContext *ctx);

    antlrcpp::Any visitParam_star_annotation(FandangoParser::Param_star_annotationContext *ctx);

    antlrcpp::Any visitAnnotation(FandangoParser::AnnotationContext *ctx);

    antlrcpp::Any visitStar_annotation(FandangoParser::Star_annotationContext *ctx);

    antlrcpp::Any visitDefault(FandangoParser::DefaultContext *ctx);

    antlrcpp::Any visitIf_stmt(FandangoParser::If_stmtContext *ctx);

    antlrcpp::Any visitElif_stmt(FandangoParser::Elif_stmtContext *ctx);

    antlrcpp::Any visitElse_block(FandangoParser::Else_blockContext *ctx);

    antlrcpp::Any visitWhile_stmt(FandangoParser::While_stmtContext *ctx);

    antlrcpp::Any visitFor_stmt(FandangoParser::For_stmtContext *ctx);

    antlrcpp::Any visitWith_stmt(FandangoParser::With_stmtContext *ctx);

    antlrcpp::Any visitWith_item(FandangoParser::With_itemContext *ctx);

    antlrcpp::Any visitTry_stmt(FandangoParser::Try_stmtContext *ctx);

    antlrcpp::Any visitExcept_block(FandangoParser::Except_blockContext *ctx);

    antlrcpp::Any visitExcept_star_block(FandangoParser::Except_star_blockContext *ctx);

    antlrcpp::Any visitFinally_block(FandangoParser::Finally_blockContext *ctx);

    antlrcpp::Any visitMatch_stmt(FandangoParser::Match_stmtContext *ctx);

    antlrcpp::Any visitSubject_expr(FandangoParser::Subject_exprContext *ctx);

    antlrcpp::Any visitCase_block(FandangoParser::Case_blockContext *ctx);

    antlrcpp::Any visitGuard(FandangoParser::GuardContext *ctx);

    antlrcpp::Any visitPatterns(FandangoParser::PatternsContext *ctx);

    antlrcpp::Any visitPattern(FandangoParser::PatternContext *ctx);

    antlrcpp::Any visitAs_pattern(FandangoParser::As_patternContext *ctx);

    antlrcpp::Any visitOr_pattern(FandangoParser::Or_patternContext *ctx);

    antlrcpp::Any visitClosed_pattern(FandangoParser::Closed_patternContext *ctx);

    antlrcpp::Any visitLiteral_pattern(FandangoParser::Literal_patternContext *ctx);

    antlrcpp::Any visitLiteral_expr(FandangoParser::Literal_exprContext *ctx);

    antlrcpp::Any visitComplex_number(FandangoParser::Complex_numberContext *ctx);

    antlrcpp::Any visitSigned_number(FandangoParser::Signed_numberContext *ctx);

    antlrcpp::Any visitSigned_real_number(FandangoParser::Signed_real_numberContext *ctx);

    antlrcpp::Any visitReal_number(FandangoParser::Real_numberContext *ctx);

    antlrcpp::Any visitImaginary_number(FandangoParser::Imaginary_numberContext *ctx);

    antlrcpp::Any visitCapture_pattern(FandangoParser::Capture_patternContext *ctx);

    antlrcpp::Any visitPattern_capture_target(FandangoParser::Pattern_capture_targetContext *ctx);

    antlrcpp::Any visitWildcard_pattern(FandangoParser::Wildcard_patternContext *ctx);

    antlrcpp::Any visitValue_pattern(FandangoParser::Value_patternContext *ctx);

    antlrcpp::Any visitAttr(FandangoParser::AttrContext *ctx);

    antlrcpp::Any visitName_or_attr(FandangoParser::Name_or_attrContext *ctx);

    antlrcpp::Any visitGroup_pattern(FandangoParser::Group_patternContext *ctx);

    antlrcpp::Any visitSequence_pattern(FandangoParser::Sequence_patternContext *ctx);

    antlrcpp::Any visitOpen_sequence_pattern(FandangoParser::Open_sequence_patternContext *ctx);

    antlrcpp::Any visitMaybe_sequence_pattern(FandangoParser::Maybe_sequence_patternContext *ctx);

    antlrcpp::Any visitMaybe_star_pattern(FandangoParser::Maybe_star_patternContext *ctx);

    antlrcpp::Any visitStar_pattern(FandangoParser::Star_patternContext *ctx);

    antlrcpp::Any visitMapping_pattern(FandangoParser::Mapping_patternContext *ctx);

    antlrcpp::Any visitItems_pattern(FandangoParser::Items_patternContext *ctx);

    antlrcpp::Any visitKey_value_pattern(FandangoParser::Key_value_patternContext *ctx);

    antlrcpp::Any visitDouble_star_pattern(FandangoParser::Double_star_patternContext *ctx);

    antlrcpp::Any visitClass_pattern(FandangoParser::Class_patternContext *ctx);

    antlrcpp::Any visitPositional_patterns(FandangoParser::Positional_patternsContext *ctx);

    antlrcpp::Any visitKeyword_patterns(FandangoParser::Keyword_patternsContext *ctx);

    antlrcpp::Any visitKeyword_pattern(FandangoParser::Keyword_patternContext *ctx);

    antlrcpp::Any visitType_alias(FandangoParser::Type_aliasContext *ctx);

    antlrcpp::Any visitType_params(FandangoParser::Type_paramsContext *ctx);

    antlrcpp::Any visitType_param_seq(FandangoParser::Type_param_seqContext *ctx);

    antlrcpp::Any visitType_param(FandangoParser::Type_paramContext *ctx);

    antlrcpp::Any visitType_param_bound(FandangoParser::Type_param_boundContext *ctx);

    antlrcpp::Any visitExpressions(FandangoParser::ExpressionsContext *ctx);

    antlrcpp::Any visitExpression(FandangoParser::ExpressionContext *ctx);

    antlrcpp::Any visitYield_expr(FandangoParser::Yield_exprContext *ctx);

    antlrcpp::Any visitStar_expressions(FandangoParser::Star_expressionsContext *ctx);

    antlrcpp::Any visitStar_expression(FandangoParser::Star_expressionContext *ctx);

    antlrcpp::Any visitStar_named_expressions(FandangoParser::Star_named_expressionsContext *ctx);

    antlrcpp::Any visitStar_named_expression(FandangoParser::Star_named_expressionContext *ctx);

    antlrcpp::Any visitAssignment_expression(FandangoParser::Assignment_expressionContext *ctx);

    antlrcpp::Any visitNamed_expression(FandangoParser::Named_expressionContext *ctx);

    antlrcpp::Any visitDisjunction(FandangoParser::DisjunctionContext *ctx);

    antlrcpp::Any visitConjunction(FandangoParser::ConjunctionContext *ctx);

    antlrcpp::Any visitInversion(FandangoParser::InversionContext *ctx);

    antlrcpp::Any visitComparison(FandangoParser::ComparisonContext *ctx);

    antlrcpp::Any visitCompare_op_bitwise_or_pair(FandangoParser::Compare_op_bitwise_or_pairContext *ctx);

    antlrcpp::Any visitEq_bitwise_or(FandangoParser::Eq_bitwise_orContext *ctx);

    antlrcpp::Any visitNoteq_bitwise_or(FandangoParser::Noteq_bitwise_orContext *ctx);

    antlrcpp::Any visitLte_bitwise_or(FandangoParser::Lte_bitwise_orContext *ctx);

    antlrcpp::Any visitLt_bitwise_or(FandangoParser::Lt_bitwise_orContext *ctx);

    antlrcpp::Any visitGte_bitwise_or(FandangoParser::Gte_bitwise_orContext *ctx);

    antlrcpp::Any visitGt_bitwise_or(FandangoParser::Gt_bitwise_orContext *ctx);

    antlrcpp::Any visitNotin_bitwise_or(FandangoParser::Notin_bitwise_orContext *ctx);

    antlrcpp::Any visitIn_bitwise_or(FandangoParser::In_bitwise_orContext *ctx);

    antlrcpp::Any visitIsnot_bitwise_or(FandangoParser::Isnot_bitwise_orContext *ctx);

    antlrcpp::Any visitIs_bitwise_or(FandangoParser::Is_bitwise_orContext *ctx);

    antlrcpp::Any visitBitwise_or(FandangoParser::Bitwise_orContext *ctx);

    antlrcpp::Any visitBitwise_xor(FandangoParser::Bitwise_xorContext *ctx);

    antlrcpp::Any visitBitwise_and(FandangoParser::Bitwise_andContext *ctx);

    antlrcpp::Any visitShift_expr(FandangoParser::Shift_exprContext *ctx);

    antlrcpp::Any visitSum(FandangoParser::SumContext *ctx);

    antlrcpp::Any visitTerm(FandangoParser::TermContext *ctx);

    antlrcpp::Any visitFactor(FandangoParser::FactorContext *ctx);

    antlrcpp::Any visitPower(FandangoParser::PowerContext *ctx);

    antlrcpp::Any visitAwait_primary(FandangoParser::Await_primaryContext *ctx);

    antlrcpp::Any visitPrimary(FandangoParser::PrimaryContext *ctx);

    antlrcpp::Any visitSlices(FandangoParser::SlicesContext *ctx);

    antlrcpp::Any visitSlice(FandangoParser::SliceContext *ctx);

    antlrcpp::Any visitAtom(FandangoParser::AtomContext *ctx);

    antlrcpp::Any visitGroup(FandangoParser::GroupContext *ctx);

    antlrcpp::Any visitLambdef(FandangoParser::LambdefContext *ctx);

    antlrcpp::Any visitLambda_params(FandangoParser::Lambda_paramsContext *ctx);

    antlrcpp::Any visitLambda_parameters(FandangoParser::Lambda_parametersContext *ctx);

    antlrcpp::Any visitLambda_slash_no_default(FandangoParser::Lambda_slash_no_defaultContext *ctx);

    antlrcpp::Any visitLambda_slash_with_default(FandangoParser::Lambda_slash_with_defaultContext *ctx);

    antlrcpp::Any visitLambda_star_etc(FandangoParser::Lambda_star_etcContext *ctx);

    antlrcpp::Any visitLambda_kwds(FandangoParser::Lambda_kwdsContext *ctx);

    antlrcpp::Any visitLambda_param_no_default(FandangoParser::Lambda_param_no_defaultContext *ctx);

    antlrcpp::Any visitLambda_param_with_default(FandangoParser::Lambda_param_with_defaultContext *ctx);

    antlrcpp::Any visitLambda_param_maybe_default(FandangoParser::Lambda_param_maybe_defaultContext *ctx);

    antlrcpp::Any visitLambda_param(FandangoParser::Lambda_paramContext *ctx);

    antlrcpp::Any visitFstring_middle_no_quote(FandangoParser::Fstring_middle_no_quoteContext *ctx);

    antlrcpp::Any visitFstring_middle_no_single_quote(FandangoParser::Fstring_middle_no_single_quoteContext *ctx);

    antlrcpp::Any visitFstring_middle_breaks_no_triple_quote(FandangoParser::Fstring_middle_breaks_no_triple_quoteContext *ctx);

    antlrcpp::Any visitFstring_middle_breaks_no_triple_single_quote(FandangoParser::Fstring_middle_breaks_no_triple_single_quoteContext *ctx);

    antlrcpp::Any visitFstring_any_no_quote(FandangoParser::Fstring_any_no_quoteContext *ctx);

    antlrcpp::Any visitFstring_any_no_single_quote(FandangoParser::Fstring_any_no_single_quoteContext *ctx);

    antlrcpp::Any visitFstring_middle(FandangoParser::Fstring_middleContext *ctx);

    antlrcpp::Any visitFstring_any_breaks_no_triple_quote(FandangoParser::Fstring_any_breaks_no_triple_quoteContext *ctx);

    antlrcpp::Any visitFstring_any_breaks_no_triple_single_quote(FandangoParser::Fstring_any_breaks_no_triple_single_quoteContext *ctx);

    antlrcpp::Any visitFstring_any(FandangoParser::Fstring_anyContext *ctx);

    antlrcpp::Any visitFstring_replacement_field(FandangoParser::Fstring_replacement_fieldContext *ctx);

    antlrcpp::Any visitFstring_conversion(FandangoParser::Fstring_conversionContext *ctx);

    antlrcpp::Any visitFstring_full_format_spec(FandangoParser::Fstring_full_format_specContext *ctx);

    antlrcpp::Any visitFstring_format_spec(FandangoParser::Fstring_format_specContext *ctx);

    antlrcpp::Any visitFstring(FandangoParser::FstringContext *ctx);

    antlrcpp::Any visitString(FandangoParser::StringContext *ctx);

    antlrcpp::Any visitStrings(FandangoParser::StringsContext *ctx);

    antlrcpp::Any visitList(FandangoParser::ListContext *ctx);

    antlrcpp::Any visitTuple(FandangoParser::TupleContext *ctx);

    antlrcpp::Any visitSet(FandangoParser::SetContext *ctx);

    antlrcpp::Any visitDict(FandangoParser::DictContext *ctx);

    antlrcpp::Any visitDouble_starred_kvpairs(FandangoParser::Double_starred_kvpairsContext *ctx);

    antlrcpp::Any visitDouble_starred_kvpair(FandangoParser::Double_starred_kvpairContext *ctx);

    antlrcpp::Any visitKvpair(FandangoParser::KvpairContext *ctx);

    antlrcpp::Any visitFor_if_clauses(FandangoParser::For_if_clausesContext *ctx);

    antlrcpp::Any visitFor_if_clause(FandangoParser::For_if_clauseContext *ctx);

    antlrcpp::Any visitListcomp(FandangoParser::ListcompContext *ctx);

    antlrcpp::Any visitSetcomp(FandangoParser::SetcompContext *ctx);

    antlrcpp::Any visitGenexp(FandangoParser::GenexpContext *ctx);

    antlrcpp::Any visitDictcomp(FandangoParser::DictcompContext *ctx);

    antlrcpp::Any visitArguments(FandangoParser::ArgumentsContext *ctx);

    antlrcpp::Any visitArgs(FandangoParser::ArgsContext *ctx);

    antlrcpp::Any visitArg(FandangoParser::ArgContext *ctx);

    antlrcpp::Any visitKwargs(FandangoParser::KwargsContext *ctx);

    antlrcpp::Any visitStarred_expression(FandangoParser::Starred_expressionContext *ctx);

    antlrcpp::Any visitKwarg_or_starred(FandangoParser::Kwarg_or_starredContext *ctx);

    antlrcpp::Any visitKwarg_or_double_starred(FandangoParser::Kwarg_or_double_starredContext *ctx);

    antlrcpp::Any visitStar_targets(FandangoParser::Star_targetsContext *ctx);

    antlrcpp::Any visitStar_targets_list_seq(FandangoParser::Star_targets_list_seqContext *ctx);

    antlrcpp::Any visitStar_targets_tuple_seq(FandangoParser::Star_targets_tuple_seqContext *ctx);

    antlrcpp::Any visitStar_target(FandangoParser::Star_targetContext *ctx);

    antlrcpp::Any visitTarget_with_star_atom(FandangoParser::Target_with_star_atomContext *ctx);

    antlrcpp::Any visitStar_atom(FandangoParser::Star_atomContext *ctx);

    antlrcpp::Any visitSingle_target(FandangoParser::Single_targetContext *ctx);

    antlrcpp::Any visitSingle_subscript_attribute_target(FandangoParser::Single_subscript_attribute_targetContext *ctx);

    antlrcpp::Any visitT_primary(FandangoParser::T_primaryContext *ctx);

    antlrcpp::Any visitDel_targets(FandangoParser::Del_targetsContext *ctx);

    antlrcpp::Any visitDel_target(FandangoParser::Del_targetContext *ctx);

    antlrcpp::Any visitDel_t_atom(FandangoParser::Del_t_atomContext *ctx);

    antlrcpp::Any visitType_expressions(FandangoParser::Type_expressionsContext *ctx);

    antlrcpp::Any visitFunc_type_comment(FandangoParser::Func_type_commentContext *ctx);

    antlrcpp::Any visitIdentifier(FandangoParser::IdentifierContext *ctx);

};