morbig

A trustworthy parser for POSIX shell
Module Morbig . CST
constraint 'b mapreduce = 'b mapreduce
method visit_Program_LineBreak_CompleteCommands_LineBreak : 'b -> 'c -> linebreak' -> complete_commands' -> linebreak' -> program * 'd
method visit_Program_LineBreak : 'b -> 'e -> linebreak' -> program * 'f
method visit_program : 'b -> 'g -> program -> program * 'h
method visit_CompleteCommands_CompleteCommands_NewlineList_CompleteCommand : 'b -> 'i -> complete_commands' -> newline_list' -> complete_command' -> complete_commands * 'j
method visit_CompleteCommands_CompleteCommand : 'b -> 'k -> complete_command' -> complete_commands * 'l
method visit_complete_commands : 'b -> 'm -> complete_commands -> complete_commands * 'h
method visit_CompleteCommand_CList_SeparatorOp : 'b -> 'n -> clist' -> separator_op' -> complete_command * 'o
method visit_CompleteCommand_CList : 'b -> 'p -> clist' -> complete_command * 'q
method visit_complete_command : 'b -> 'r -> complete_command -> complete_command * 'h
method visit_CList_CList_SeparatorOp_AndOr : 'b -> 's -> clist' -> separator_op' -> and_or' -> clist * 't
method visit_CList_AndOr : 'b -> 'u -> and_or' -> clist * 'v
method visit_clist : 'b -> 'w -> clist -> clist * 'h
method visit_AndOr_Pipeline : 'b -> 'x -> pipeline' -> and_or * 'y
method visit_AndOr_AndOr_AndIf_LineBreak_Pipeline : 'b -> 'z -> and_or' -> linebreak' -> pipeline' -> and_or * 'a1
method visit_AndOr_AndOr_OrIf_LineBreak_Pipeline : 'b -> 'b1 -> and_or' -> linebreak' -> pipeline' -> and_or * 'c1
method visit_and_or : 'b -> 'd1 -> and_or -> and_or * 'h
method visit_Pipeline_PipeSequence : 'b -> 'e1 -> pipe_sequence' -> pipeline * 'f1
method visit_Pipeline_Bang_PipeSequence : 'b -> 'g1 -> pipe_sequence' -> pipeline * 'h1
method visit_pipeline : 'b -> 'i1 -> pipeline -> pipeline * 'h
method visit_PipeSequence_Command : 'b -> 'j1 -> command' -> pipe_sequence * 'k1
method visit_PipeSequence_PipeSequence_Pipe_LineBreak_Command : 'b -> 'l1 -> pipe_sequence' -> linebreak' -> command' -> pipe_sequence * 'm1
method visit_pipe_sequence : 'b -> 'n1 -> pipe_sequence -> pipe_sequence * 'h
method visit_Command_SimpleCommand : 'b -> 'o1 -> simple_command' -> command * 'p1
method visit_Command_CompoundCommand : 'b -> 'q1 -> compound_command' -> command * 'r1
method visit_Command_CompoundCommand_RedirectList : 'b -> 's1 -> compound_command' -> redirect_list' -> command * 't1
method visit_Command_FunctionDefinition : 'b -> 'u1 -> function_definition' -> command * 'v1
method visit_command : 'b -> 'w1 -> command -> command * 'h
method visit_CompoundCommand_BraceGroup : 'b -> 'x1 -> brace_group' -> compound_command * 'y1
method visit_CompoundCommand_Subshell : 'b -> 'z1 -> subshell' -> compound_command * 'a2
method visit_CompoundCommand_ForClause : 'b -> 'b2 -> for_clause' -> compound_command * 'c2
method visit_CompoundCommand_CaseClause : 'b -> 'd2 -> case_clause' -> compound_command * 'e2
method visit_CompoundCommand_IfClause : 'b -> 'f2 -> if_clause' -> compound_command * 'g2
method visit_CompoundCommand_WhileClause : 'b -> 'h2 -> while_clause' -> compound_command * 'i2
method visit_CompoundCommand_UntilClause : 'b -> 'j2 -> until_clause' -> compound_command * 'k2
method visit_compound_command : 'b -> 'l2 -> compound_command -> compound_command * 'h
method visit_Subshell_Lparen_CompoundList_Rparen : 'b -> 'm2 -> compound_list' -> subshell * 'n2
method visit_subshell : 'b -> 'o2 -> subshell -> subshell * 'h
method visit_CompoundList_LineBreak_Term : 'b -> 'p2 -> linebreak' -> term' -> compound_list * 'q2
method visit_CompoundList_LineBreak_Term_Separator : 'b -> 'r2 -> linebreak' -> term' -> separator' -> compound_list * 's2
method visit_compound_list : 'b -> 't2 -> compound_list -> compound_list * 'h
method visit_Term_Term_Separator_AndOr : 'b -> 'u2 -> term' -> separator' -> and_or' -> term * 'v2
method visit_Term_AndOr : 'b -> 'w2 -> and_or' -> term * 'x2
method visit_term : 'b -> 'y2 -> term -> term * 'h
method visit_ForClause_For_Name_DoGroup : 'b -> 'z2 -> name' -> do_group' -> for_clause * 'a3
method visit_ForClause_For_Name_SequentialSep_DoGroup : 'b -> 'b3 -> name' -> sequential_sep' -> do_group' -> for_clause * 'c3
method visit_ForClause_For_Name_LineBreak_In_SequentialSep_DoGroup : 'b -> 'd3 -> name' -> linebreak' -> sequential_sep' -> do_group' -> for_clause * 'e3
method visit_ForClause_For_Name_LineBreak_In_WordList_SequentialSep_DoGroup : 'b -> 'f3 -> name' -> linebreak' -> wordlist' -> sequential_sep' -> do_group' -> for_clause * 'g3
method visit_for_clause : 'b -> 'h3 -> for_clause -> for_clause * 'h
method visit_WordList_WordList_Word : 'b -> 'i3 -> wordlist' -> word' -> wordlist * 'j3
method visit_WordList_Word : 'b -> 'k3 -> word' -> wordlist * 'l3
method visit_wordlist : 'b -> 'm3 -> wordlist -> wordlist * 'h
method visit_CaseClause_Case_Word_LineBreak_In_LineBreak_CaseList_Esac : 'b -> 'n3 -> word' -> linebreak' -> linebreak' -> case_list' -> case_clause * 'o3
method visit_CaseClause_Case_Word_LineBreak_In_LineBreak_CaseListNS_Esac : 'b -> 'p3 -> word' -> linebreak' -> linebreak' -> case_list_ns' -> case_clause * 'q3
method visit_CaseClause_Case_Word_LineBreak_In_LineBreak_Esac : 'b -> 'r3 -> word' -> linebreak' -> linebreak' -> case_clause * 's3
method visit_case_clause : 'b -> 't3 -> case_clause -> case_clause * 'h
method visit_CaseListNS_CaseList_CaseItemNS : 'b -> 'u3 -> case_list' -> case_item_ns' -> case_list_ns * 'v3
method visit_CaseListNS_CaseItemNS : 'b -> 'w3 -> case_item_ns' -> case_list_ns * 'x3
method visit_case_list_ns : 'b -> 'y3 -> case_list_ns -> case_list_ns * 'h
method visit_CaseList_CaseList_CaseItem : 'b -> 'z3 -> case_list' -> case_item' -> case_list * 'a4
method visit_CaseList_CaseItem : 'b -> 'b4 -> case_item' -> case_list * 'c4
method visit_case_list : 'b -> 'd4 -> case_list -> case_list * 'h
method visit_CaseItemNS_Pattern_Rparen_LineBreak : 'b -> 'e4 -> pattern' -> linebreak' -> case_item_ns * 'f4
method visit_CaseItemNS_Pattern_Rparen_CompoundList : 'b -> 'g4 -> pattern' -> compound_list' -> case_item_ns * 'h4
method visit_CaseItemNS_Lparen_Pattern_Rparen_LineBreak : 'b -> 'i4 -> pattern' -> linebreak' -> case_item_ns * 'j4
method visit_CaseItemNS_Lparen_Pattern_Rparen_CompoundList : 'b -> 'k4 -> pattern' -> compound_list' -> case_item_ns * 'l4
method visit_case_item_ns : 'b -> 'm4 -> case_item_ns -> case_item_ns * 'h
method visit_CaseItem_Pattern_Rparen_LineBreak_Dsemi_LineBreak : 'b -> 'n4 -> pattern' -> linebreak' -> linebreak' -> case_item * 'o4
method visit_CaseItem_Pattern_Rparen_CompoundList_Dsemi_LineBreak : 'b -> 'p4 -> pattern' -> compound_list' -> linebreak' -> case_item * 'q4
method visit_CaseItem_Lparen_Pattern_Rparen_LineBreak_Dsemi_LineBreak : 'b -> 'r4 -> pattern' -> linebreak' -> linebreak' -> case_item * 's4
method visit_CaseItem_Lparen_Pattern_Rparen_CompoundList_Dsemi_LineBreak : 'b -> 't4 -> pattern' -> compound_list' -> linebreak' -> case_item * 'u4
method visit_case_item : 'b -> 'v4 -> case_item -> case_item * 'h
method visit_Pattern_Word : 'b -> 'w4 -> word' -> pattern * 'x4
method visit_Pattern_Pattern_Pipe_Word : 'b -> 'y4 -> pattern' -> word' -> pattern * 'z4
method visit_pattern : 'b -> 'a5 -> pattern -> pattern * 'h
method visit_IfClause_If_CompoundList_Then_CompoundList_ElsePart_Fi : 'b -> 'b5 -> compound_list' -> compound_list' -> else_part' -> if_clause * 'c5
method visit_IfClause_If_CompoundList_Then_CompoundList_Fi : 'b -> 'd5 -> compound_list' -> compound_list' -> if_clause * 'e5
method visit_if_clause : 'b -> 'f5 -> if_clause -> if_clause * 'h
method visit_ElsePart_Elif_CompoundList_Then_CompoundList : 'b -> 'g5 -> compound_list' -> compound_list' -> else_part * 'h5
method visit_ElsePart_Elif_CompoundList_Then_CompoundList_ElsePart : 'b -> 'i5 -> compound_list' -> compound_list' -> else_part' -> else_part * 'j5
method visit_ElsePart_Else_CompoundList : 'b -> 'k5 -> compound_list' -> else_part * 'l5
method visit_else_part : 'b -> 'm5 -> else_part -> else_part * 'h
method visit_WhileClause_While_CompoundList_DoGroup : 'b -> 'n5 -> compound_list' -> do_group' -> while_clause * 'o5
method visit_while_clause : 'b -> 'p5 -> while_clause -> while_clause * 'h
method visit_UntilClause_Until_CompoundList_DoGroup : 'b -> 'q5 -> compound_list' -> do_group' -> until_clause * 'r5
method visit_until_clause : 'b -> 's5 -> until_clause -> until_clause * 'h
method visit_FunctionDefinition_Fname_Lparen_Rparen_LineBreak_FunctionBody : 'b -> 't5 -> fname' -> linebreak' -> function_body' -> function_definition * 'u5
method visit_function_definition : 'b -> 'v5 -> function_definition -> function_definition * 'h
method visit_FunctionBody_CompoundCommand : 'b -> 'w5 -> compound_command' -> function_body * 'x5
method visit_FunctionBody_CompoundCommand_RedirectList : 'b -> 'y5 -> compound_command' -> redirect_list' -> function_body * 'z5
method visit_function_body : 'b -> 'a6 -> function_body -> function_body * 'h
method visit_Fname_Name : 'b -> 'b6 -> name -> fname * 'c6
method visit_fname : 'b -> 'd6 -> fname -> fname * 'h
method visit_BraceGroup_LBrace_CompoundList_RBrace : 'b -> 'e6 -> compound_list' -> brace_group * 'f6
method visit_brace_group : 'b -> 'g6 -> brace_group -> brace_group * 'h
method visit_DoGroup_Do_CompoundList_Done : 'b -> 'h6 -> compound_list' -> do_group * 'i6
method visit_do_group : 'b -> 'j6 -> do_group -> do_group * 'h
method visit_SimpleCommand_CmdPrefix_CmdWord_CmdSuffix : 'b -> 'k6 -> cmd_prefix' -> cmd_word' -> cmd_suffix' -> simple_command * 'l6
method visit_SimpleCommand_CmdPrefix_CmdWord : 'b -> 'm6 -> cmd_prefix' -> cmd_word' -> simple_command * 'n6
method visit_SimpleCommand_CmdPrefix : 'b -> 'o6 -> cmd_prefix' -> simple_command * 'p6
method visit_SimpleCommand_CmdName_CmdSuffix : 'b -> 'q6 -> cmd_name' -> cmd_suffix' -> simple_command * 'r6
method visit_SimpleCommand_CmdName : 'b -> 's6 -> cmd_name' -> simple_command * 't6
method visit_simple_command : 'b -> 'u6 -> simple_command -> simple_command * 'h
method visit_CmdName_Word : 'b -> 'v6 -> word' -> cmd_name * 'w6
method visit_cmd_name : 'b -> 'x6 -> cmd_name -> cmd_name * 'h
method visit_CmdWord_Word : 'b -> 'y6 -> word' -> cmd_word * 'z6
method visit_cmd_word : 'b -> 'a7 -> cmd_word -> cmd_word * 'h
method visit_CmdPrefix_IoRedirect : 'b -> 'b7 -> io_redirect' -> cmd_prefix * 'c7
method visit_CmdPrefix_CmdPrefix_IoRedirect : 'b -> 'd7 -> cmd_prefix' -> io_redirect' -> cmd_prefix * 'e7
method visit_CmdPrefix_AssignmentWord : 'b -> 'f7 -> assignment_word' -> cmd_prefix * 'g7
method visit_CmdPrefix_CmdPrefix_AssignmentWord : 'b -> 'h7 -> cmd_prefix' -> assignment_word' -> cmd_prefix * 'i7
method visit_cmd_prefix : 'b -> 'j7 -> cmd_prefix -> cmd_prefix * 'h
method visit_CmdSuffix_IoRedirect : 'b -> 'k7 -> io_redirect' -> cmd_suffix * 'l7
method visit_CmdSuffix_CmdSuffix_IoRedirect : 'b -> 'm7 -> cmd_suffix' -> io_redirect' -> cmd_suffix * 'n7
method visit_CmdSuffix_Word : 'b -> 'o7 -> word' -> cmd_suffix * 'p7
method visit_CmdSuffix_CmdSuffix_Word : 'b -> 'q7 -> cmd_suffix' -> word' -> cmd_suffix * 'r7
method visit_cmd_suffix : 'b -> 's7 -> cmd_suffix -> cmd_suffix * 'h
method visit_RedirectList_IoRedirect : 'b -> 't7 -> io_redirect' -> redirect_list * 'u7
method visit_RedirectList_RedirectList_IoRedirect : 'b -> 'v7 -> redirect_list' -> io_redirect' -> redirect_list * 'w7
method visit_redirect_list : 'b -> 'x7 -> redirect_list -> redirect_list * 'h
method visit_IoRedirect_IoFile : 'b -> 'y7 -> io_file' -> io_redirect * 'z7
method visit_IoRedirect_IoNumber_IoFile : 'b -> 'a8 -> io_number -> io_file' -> io_redirect * 'b8
method visit_IoRedirect_IoHere : 'b -> 'c8 -> io_here' -> io_redirect * 'd8
method visit_IoRedirect_IoNumber_IoHere : 'b -> 'e8 -> io_number -> io_here' -> io_redirect * 'f8
method visit_io_redirect : 'b -> 'g8 -> io_redirect -> io_redirect * 'h
method visit_IoFile_Less_FileName : 'b -> 'h8 -> filename' -> io_file * 'i8
method visit_IoFile_LessAnd_FileName : 'b -> 'j8 -> filename' -> io_file * 'k8
method visit_IoFile_Great_FileName : 'b -> 'l8 -> filename' -> io_file * 'm8
method visit_IoFile_GreatAnd_FileName : 'b -> 'n8 -> filename' -> io_file * 'o8
method visit_IoFile_DGreat_FileName : 'b -> 'p8 -> filename' -> io_file * 'q8
method visit_IoFile_LessGreat_FileName : 'b -> 'r8 -> filename' -> io_file * 's8
method visit_IoFile_Clobber_FileName : 'b -> 't8 -> filename' -> io_file * 'u8
method visit_io_file : 'b -> 'v8 -> io_file -> io_file * 'h
method visit_Filename_Word : 'b -> 'w8 -> word' -> filename * 'x8
method visit_filename : 'b -> 'y8 -> filename -> filename * 'h
method visit_IoHere_DLess_HereEnd : 'b -> 'z8 -> here_end' -> word' ref -> io_here * 'a9
method visit_IoHere_DLessDash_HereEnd : 'b -> 'b9 -> here_end' -> word' ref -> io_here * 'c9
method visit_io_here : 'b -> 'd9 -> io_here -> io_here * 'h
method visit_HereEnd_Word : 'b -> 'e9 -> word' -> here_end * 'f9
method visit_here_end : 'b -> 'g9 -> here_end -> here_end * 'h
method visit_NewLineList_NewLine : 'b -> 'h9 -> newline_list * 'i9
method visit_NewLineList_NewLineList_NewLine : 'b -> 'j9 -> newline_list' -> newline_list * 'k9
method visit_newline_list : 'b -> 'l9 -> newline_list -> newline_list * 'h
method visit_LineBreak_NewLineList : 'b -> 'm9 -> newline_list' -> linebreak * 'n9
method visit_LineBreak_Empty : 'b -> 'o9 -> linebreak * 'p9
method visit_linebreak : 'b -> 'q9 -> linebreak -> linebreak * 'h
method visit_SeparatorOp_Uppersand : 'b -> 'r9 -> separator_op * 's9
method visit_SeparatorOp_Semicolon : 'b -> 't9 -> separator_op * 'u9
method visit_separator_op : 'b -> 'v9 -> separator_op -> separator_op * 'h
method visit_Separator_SeparatorOp_LineBreak : 'b -> 'w9 -> separator_op' -> linebreak' -> separator * 'x9
method visit_Separator_NewLineList : 'b -> 'y9 -> newline_list' -> separator * 'z9
method visit_separator : 'b -> 'a10 -> separator -> separator * 'h
method visit_SequentialSep_Semicolon_LineBreak : 'b -> 'b10 -> linebreak' -> sequential_sep * 'c10
method visit_SequentialSep_NewLineList : 'b -> 'd10 -> newline_list' -> sequential_sep * 'e10
method visit_sequential_sep : 'b -> 'f10 -> sequential_sep -> sequential_sep * 'h
method visit_Word : 'b -> 'g10 -> string -> word_cst -> word * 'h10
method visit_word : 'b -> 'i10 -> word -> word * 'h
method visit_word_cst : 'b -> 'j10 -> word_cst -> word_cst * 'k10
method visit_WordSubshell : 'b -> 'l10 -> subshell_kind -> program located -> word_component * 'm10
method visit_WordName : 'b -> 'n10 -> string -> word_component * 'o10
method visit_WordAssignmentWord : 'b -> 'p10 -> assignment_word -> word_component * 'q10
method visit_WordDoubleQuoted : 'b -> 'r10 -> word -> word_component * 's10
method visit_WordSingleQuoted : 'b -> 't10 -> word -> word_component * 'u10
method visit_WordLiteral : 'b -> 'v10 -> string -> word_component * 'w10
method visit_WordVariable : 'b -> 'x10 -> variable -> word_component * 'y10
method visit_WordGlobAll : 'b -> 'z10 -> word_component * 'a11
method visit_WordGlobAny : 'b -> 'b11 -> word_component * 'c11
method visit_WordReBracketExpression : 'b -> 'd11 -> bracket_expression -> word_component * 'e11
method visit_WordEmpty : 'b -> 'f11 -> word_component * 'g11
method visit_word_component : 'b -> 'h11 -> word_component -> word_component * 'h
method visit_BracketExpression_LBRACKET_MatchingList_RBRACKET : 'b -> 'i11 -> matching_list -> bracket_expression * 'j11
method visit_BracketExpression_LBRACKET_NonMatchingList_RBRACKET : 'b -> 'k11 -> nonmatching_list -> bracket_expression * 'l11
method visit_bracket_expression : 'b -> 'm11 -> bracket_expression -> bracket_expression * 'n11
method visit_MatchingList_BracketList : 'b -> 'o11 -> bracket_list -> matching_list * 'p11
method visit_matching_list : 'b -> 'q11 -> matching_list -> matching_list * 'r11
method visit_NonMatchingList_BracketList : 'b -> 's11 -> bracket_list -> nonmatching_list * 't11
method visit_nonmatching_list : 'b -> 'u11 -> nonmatching_list -> nonmatching_list * 'v11
method visit_BracketList_FollowList : 'b -> 'w11 -> follow_list -> bracket_list * 'x11
method visit_BracketList_FollowList_MINUS : 'b -> 'y11 -> follow_list -> bracket_list * 'z11
method visit_bracket_list : 'b -> 'a12 -> bracket_list -> bracket_list * 'b12
method visit_FollowList_ExpressionTerm : 'b -> 'c12 -> expression_term -> follow_list * 'd12
method visit_FollowList_FollowList_ExpressionTerm : 'b -> 'e12 -> follow_list -> expression_term -> follow_list * 'f12
method visit_follow_list : 'b -> 'g12 -> follow_list -> follow_list * 'h12
method visit_ExpressionTerm_SingleExpression : 'b -> 'i12 -> single_expression -> expression_term * 'j12
method visit_ExpressionTerm_RangeExpression : 'b -> 'k12 -> range_expression -> expression_term * 'l12
method visit_expression_term : 'b -> 'm12 -> expression_term -> expression_term * 'n12
method visit_SingleExpression_EndRange : 'b -> 'o12 -> end_range -> single_expression * 'p12
method visit_SingleExpression_CharacterClass : 'b -> 'q12 -> character_class -> single_expression * 'r12
method visit_SingleExpression_EquivalenceClass : 'b -> 's12 -> equivalence_class -> single_expression * 't12
method visit_single_expression : 'b -> 'u12 -> single_expression -> single_expression * 'v12
method visit_RangeExpression_StartRange_EndRange : 'b -> 'w12 -> start_range -> end_range -> range_expression * 'x12
method visit_RangeExpression_StartRange_MINUS : 'b -> 'y12 -> start_range -> range_expression * 'z12
method visit_range_expression : 'b -> 'a13 -> range_expression -> range_expression * 'b13
method visit_StartRange_EndRange_MINUS : 'b -> 'c13 -> end_range -> start_range * 'd13
method visit_start_range : 'b -> 'e13 -> start_range -> start_range * 'f13
method visit_EndRange_COLLELEMSINGLE : 'b -> 'g13 -> char -> end_range * 'h13
method visit_EndRangeCollatingSymbol : 'b -> 'i13 -> collating_symbol -> end_range * 'j13
method visit_end_range : 'b -> 'k13 -> end_range -> end_range * 'l13
method visit_CollatingSymbol_OpenDot_COLLELEMSINGLE_DotClose : 'b -> 'm13 -> char -> collating_symbol * 'n13
method visit_CollatingSymbol_OpenDot_COLLELEMMULTI_DotClose : 'b -> 'o13 -> string -> collating_symbol * 'p13
method visit_CollatingSymbol_OpenDot_METACHAR_DotClose : 'b -> 'q13 -> char -> collating_symbol * 'r13
method visit_collating_symbol : 'b -> 's13 -> collating_symbol -> collating_symbol * 't13
method visit_EquivalenceClass_OpenEqual_COLLELEMSINGLE_EqualClose : 'b -> 'u13 -> char -> equivalence_class * 'v13
method visit_EquivalenceClass_OpenEqual_COLLELEMMULTI_EqualClose : 'b -> 'w13 -> string -> equivalence_class * 'x13
method visit_equivalence_class : 'b -> 'y13 -> equivalence_class -> equivalence_class * 'z13
method visit_CharacterClass_OpenColon_CLASSNAME_ColonClose : 'b -> 'a14 -> class_name -> character_class * 'b14
method visit_character_class : 'b -> 'c14 -> character_class -> character_class * 'd14
method visit_ClassName : 'b -> 'e14 -> string -> class_name * 'f14
method visit_class_name : 'b -> 'g14 -> class_name -> class_name * 'h14
method visit_Range : 'b -> 'i14 -> char list -> character_range * 'j14
method visit_character_range : 'b -> 'k14 -> character_range -> character_range * 'j14
method visit_VariableAtom : 'b -> 'l14 -> string -> variable_attribute -> variable * 'm14
method visit_variable : 'b -> 'n14 -> variable -> variable * 'o14
method visit_NoAttribute : 'b -> 'p14 -> variable_attribute * 'q14
method visit_ParameterLength : 'b -> 'r14 -> word -> variable_attribute * 's14
method visit_UseDefaultValues : 'b -> 't14 -> string -> word -> variable_attribute * 'u14
method visit_AssignDefaultValues : 'b -> 'v14 -> string -> word -> variable_attribute * 'w14
method visit_IndicateErrorifNullorUnset : 'b -> 'x14 -> string -> word -> variable_attribute * 'y14
method visit_UseAlternativeValue : 'b -> 'z14 -> string -> word -> variable_attribute * 'a15
method visit_RemoveSmallestSuffixPattern : 'b -> 'b15 -> word -> variable_attribute * 'c15
method visit_RemoveLargestSuffixPattern : 'b -> 'd15 -> word -> variable_attribute * 'e15
method visit_RemoveSmallestPrefixPattern : 'b -> 'f15 -> word -> variable_attribute * 'g15
method visit_RemoveLargestPrefixPattern : 'b -> 'h15 -> word -> variable_attribute * 'i15
method visit_variable_attribute : 'b -> 'j15 -> variable_attribute -> variable_attribute * 'k15
method visit_SubShellKindBackQuote : 'b -> 'l15 -> subshell_kind * 'm15
method visit_SubShellKindParentheses : 'b -> 'n15 -> subshell_kind * 'o15
method visit_subshell_kind : 'b -> 'p15 -> subshell_kind -> subshell_kind * 'q15
method visit_Name : 'b -> 'r15 -> string -> name * 's15
method visit_name : 'b -> 't15 -> name -> name * 'h
method visit_assignment_word : 'b -> 'u15 -> assignment_word -> (name * word) * 'v15
method visit_IONumber : 'b -> 'w15 -> string -> io_number * 'x15
method visit_io_number : 'b -> 'y15 -> io_number -> io_number * 'z15
method visit_program' : 'b -> 'a16 -> program located -> program located * 'h
method visit_complete_commands' : 'b -> 'b16 -> complete_commands' -> complete_commands' * 'c16
method visit_complete_command' : 'b -> 'd16 -> complete_command' -> complete_command' * 'e16
method visit_clist' : 'b -> 'f16 -> clist' -> clist' * 'g16
method visit_and_or' : 'b -> 'h16 -> and_or' -> and_or' * 'i16
method visit_pipeline' : 'b -> 'j16 -> pipeline' -> pipeline' * 'k16
method visit_pipe_sequence' : 'b -> 'l16 -> pipe_sequence' -> pipe_sequence' * 'm16
method visit_command' : 'b -> 'n16 -> command' -> command' * 'o16
method visit_compound_command' : 'b -> 'p16 -> compound_command' -> compound_command' * 'q16
method visit_subshell' : 'b -> 'r16 -> subshell' -> subshell' * 's16
method visit_compound_list' : 'b -> 't16 -> compound_list' -> compound_list' * 'u16
method visit_term' : 'b -> 'v16 -> term' -> term' * 'w16
method visit_for_clause' : 'b -> 'x16 -> for_clause' -> for_clause' * 'y16
method visit_wordlist' : 'b -> 'z16 -> wordlist' -> wordlist' * 'a17
method visit_case_clause' : 'b -> 'b17 -> case_clause' -> case_clause' * 'c17
method visit_case_list_ns' : 'b -> 'd17 -> case_list_ns' -> case_list_ns' * 'e17
method visit_case_list' : 'b -> 'f17 -> case_list' -> case_list' * 'g17
method visit_case_item_ns' : 'b -> 'h17 -> case_item_ns' -> case_item_ns' * 'i17
method visit_case_item' : 'b -> 'j17 -> case_item' -> case_item' * 'k17
method visit_pattern' : 'b -> 'l17 -> pattern' -> pattern' * 'm17
method visit_if_clause' : 'b -> 'n17 -> if_clause' -> if_clause' * 'o17
method visit_else_part' : 'b -> 'p17 -> else_part' -> else_part' * 'q17
method visit_while_clause' : 'b -> 'r17 -> while_clause' -> while_clause' * 's17
method visit_until_clause' : 'b -> 't17 -> until_clause' -> until_clause' * 'u17
method visit_function_definition' : 'b -> 'v17 -> function_definition' -> function_definition' * 'w17
method visit_function_body' : 'b -> 'x17 -> function_body' -> function_body' * 'y17
method visit_fname' : 'b -> 'z17 -> fname' -> fname' * 'a18
method visit_brace_group' : 'b -> 'b18 -> brace_group' -> brace_group' * 'c18
method visit_do_group' : 'b -> 'd18 -> do_group' -> do_group' * 'e18
method visit_simple_command' : 'b -> 'f18 -> simple_command' -> simple_command' * 'g18
method visit_cmd_name' : 'b -> 'h18 -> cmd_name' -> cmd_name' * 'i18
method visit_cmd_word' : 'b -> 'j18 -> cmd_word' -> cmd_word' * 'k18
method visit_cmd_prefix' : 'b -> 'l18 -> cmd_prefix' -> cmd_prefix' * 'm18
method visit_cmd_suffix' : 'b -> 'n18 -> cmd_suffix' -> cmd_suffix' * 'o18
method visit_redirect_list' : 'b -> 'p18 -> redirect_list' -> redirect_list' * 'q18
method visit_io_redirect' : 'b -> 'r18 -> io_redirect' -> io_redirect' * 's18
method visit_io_file' : 'b -> 't18 -> io_file' -> io_file' * 'u18
method visit_filename' : 'b -> 'v18 -> filename' -> filename' * 'w18
method visit_io_here' : 'b -> 'x18 -> io_here' -> io_here' * 'y18
method visit_here_end' : 'b -> 'z18 -> here_end' -> here_end' * 'a19
method visit_newline_list' : 'b -> 'b19 -> newline_list' -> newline_list' * 'c19
method visit_linebreak' : 'b -> 'd19 -> linebreak' -> linebreak' * 'e19
method visit_separator_op' : 'b -> 'f19 -> separator_op' -> separator_op' * 'g19
method visit_separator' : 'b -> 'h19 -> separator' -> separator' * 'i19
method visit_sequential_sep' : 'b -> 'j19 -> sequential_sep' -> sequential_sep' * 'k19
method visit_word' : 'b -> 'l19 -> word' -> word' * 'm19
method visit_name' : 'b -> 'n19 -> name' -> name' * 'o19
method visit_assignment_word' : 'b -> 'p19 -> assignment_word' -> assignment_word' * 'q19