package morbig

  1. Overview
  2. Docs
constraint 'b mapreduce = 'b mapreduce
method visit_Program_LineBreak_CompleteCommands_LineBreak : 'c -> linebreak' -> complete_commands' -> linebreak' -> program * 'd
method visit_Program_LineBreak : 'c -> linebreak' -> program * 'd
method visit_program : 'c -> program -> program * 'd
method visit_CompleteCommands_CompleteCommands_NewlineList_CompleteCommand : 'c -> complete_commands' -> newline_list' -> complete_command' -> complete_commands * 'd
method visit_CompleteCommands_CompleteCommand : 'c -> complete_command' -> complete_commands * 'd
method visit_complete_commands : 'c -> complete_commands -> complete_commands * 'd
method visit_CompleteCommand_CList_SeparatorOp : 'c -> clist' -> separator_op' -> complete_command * 'd
method visit_CompleteCommand_CList : 'c -> clist' -> complete_command * 'd
method visit_complete_command : 'c -> complete_command -> complete_command * 'd
method visit_CList_CList_SeparatorOp_AndOr : 'c -> clist' -> separator_op' -> and_or' -> clist * 'd
method visit_CList_AndOr : 'c -> and_or' -> clist * 'd
method visit_clist : 'c -> clist -> clist * 'd
method visit_AndOr_Pipeline : 'c -> pipeline' -> and_or * 'd
method visit_AndOr_AndOr_AndIf_LineBreak_Pipeline : 'c -> and_or' -> linebreak' -> pipeline' -> and_or * 'd
method visit_AndOr_AndOr_OrIf_LineBreak_Pipeline : 'c -> and_or' -> linebreak' -> pipeline' -> and_or * 'd
method visit_and_or : 'c -> and_or -> and_or * 'd
method visit_Pipeline_PipeSequence : 'c -> pipe_sequence' -> pipeline * 'd
method visit_Pipeline_Bang_PipeSequence : 'c -> pipe_sequence' -> pipeline * 'd
method visit_pipeline : 'c -> pipeline -> pipeline * 'd
method visit_PipeSequence_Command : 'c -> command' -> pipe_sequence * 'd
method visit_PipeSequence_PipeSequence_Pipe_LineBreak_Command : 'c -> pipe_sequence' -> linebreak' -> command' -> pipe_sequence * 'd
method visit_pipe_sequence : 'c -> pipe_sequence -> pipe_sequence * 'd
method visit_Command_SimpleCommand : 'c -> simple_command' -> command * 'd
method visit_Command_CompoundCommand : 'c -> compound_command' -> command * 'd
method visit_Command_CompoundCommand_RedirectList : 'c -> compound_command' -> redirect_list' -> command * 'd
method visit_Command_FunctionDefinition : 'c -> function_definition' -> command * 'd
method visit_command : 'c -> command -> command * 'd
method visit_CompoundCommand_BraceGroup : 'c -> brace_group' -> compound_command * 'd
method visit_CompoundCommand_Subshell : 'c -> subshell' -> compound_command * 'd
method visit_CompoundCommand_ForClause : 'c -> for_clause' -> compound_command * 'd
method visit_CompoundCommand_CaseClause : 'c -> case_clause' -> compound_command * 'd
method visit_CompoundCommand_IfClause : 'c -> if_clause' -> compound_command * 'd
method visit_CompoundCommand_WhileClause : 'c -> while_clause' -> compound_command * 'd
method visit_CompoundCommand_UntilClause : 'c -> until_clause' -> compound_command * 'd
method visit_compound_command : 'c -> compound_command -> compound_command * 'd
method visit_Subshell_Lparen_CompoundList_Rparen : 'c -> compound_list' -> subshell * 'd
method visit_subshell : 'c -> subshell -> subshell * 'd
method visit_CompoundList_LineBreak_Term : 'c -> linebreak' -> term' -> compound_list * 'd
method visit_CompoundList_LineBreak_Term_Separator : 'c -> linebreak' -> term' -> separator' -> compound_list * 'd
method visit_compound_list : 'c -> compound_list -> compound_list * 'd
method visit_Term_Term_Separator_AndOr : 'c -> term' -> separator' -> and_or' -> term * 'd
method visit_Term_AndOr : 'c -> and_or' -> term * 'd
method visit_term : 'c -> term -> term * 'd
method visit_ForClause_For_Name_DoGroup : 'c -> name' -> do_group' -> for_clause * 'd
method visit_ForClause_For_Name_SequentialSep_DoGroup : 'c -> name' -> sequential_sep' -> do_group' -> for_clause * 'd
method visit_ForClause_For_Name_LineBreak_In_SequentialSep_DoGroup : 'c -> name' -> linebreak' -> sequential_sep' -> do_group' -> for_clause * 'd
method visit_ForClause_For_Name_LineBreak_In_WordList_SequentialSep_DoGroup : 'c -> name' -> linebreak' -> wordlist' -> sequential_sep' -> do_group' -> for_clause * 'd
method visit_for_clause : 'c -> for_clause -> for_clause * 'd
method visit_WordList_WordList_Word : 'c -> wordlist' -> word' -> wordlist * 'd
method visit_WordList_Word : 'c -> word' -> wordlist * 'd
method visit_wordlist : 'c -> wordlist -> wordlist * 'd
method visit_CaseClause_Case_Word_LineBreak_In_LineBreak_CaseList_Esac : 'c -> word' -> linebreak' -> linebreak' -> case_list' -> case_clause * 'd
method visit_CaseClause_Case_Word_LineBreak_In_LineBreak_CaseListNS_Esac : 'c -> word' -> linebreak' -> linebreak' -> case_list_ns' -> case_clause * 'd
method visit_CaseClause_Case_Word_LineBreak_In_LineBreak_Esac : 'c -> word' -> linebreak' -> linebreak' -> case_clause * 'd
method visit_case_clause : 'c -> case_clause -> case_clause * 'd
method visit_CaseListNS_CaseList_CaseItemNS : 'c -> case_list' -> case_item_ns' -> case_list_ns * 'd
method visit_CaseListNS_CaseItemNS : 'c -> case_item_ns' -> case_list_ns * 'd
method visit_case_list_ns : 'c -> case_list_ns -> case_list_ns * 'd
method visit_CaseList_CaseList_CaseItem : 'c -> case_list' -> case_item' -> case_list * 'd
method visit_CaseList_CaseItem : 'c -> case_item' -> case_list * 'd
method visit_case_list : 'c -> case_list -> case_list * 'd
method visit_CaseItemNS_Pattern_Rparen_LineBreak : 'c -> pattern' -> linebreak' -> case_item_ns * 'd
method visit_CaseItemNS_Pattern_Rparen_CompoundList : 'c -> pattern' -> compound_list' -> case_item_ns * 'd
method visit_CaseItemNS_Lparen_Pattern_Rparen_LineBreak : 'c -> pattern' -> linebreak' -> case_item_ns * 'd
method visit_CaseItemNS_Lparen_Pattern_Rparen_CompoundList : 'c -> pattern' -> compound_list' -> case_item_ns * 'd
method visit_case_item_ns : 'c -> case_item_ns -> case_item_ns * 'd
method visit_CaseItem_Pattern_Rparen_LineBreak_Dsemi_LineBreak : 'c -> pattern' -> linebreak' -> linebreak' -> case_item * 'd
method visit_CaseItem_Pattern_Rparen_CompoundList_Dsemi_LineBreak : 'c -> pattern' -> compound_list' -> linebreak' -> case_item * 'd
method visit_CaseItem_Lparen_Pattern_Rparen_LineBreak_Dsemi_LineBreak : 'c -> pattern' -> linebreak' -> linebreak' -> case_item * 'd
method visit_CaseItem_Lparen_Pattern_Rparen_CompoundList_Dsemi_LineBreak : 'c -> pattern' -> compound_list' -> linebreak' -> case_item * 'd
method visit_case_item : 'c -> case_item -> case_item * 'd
method visit_Pattern_Word : 'c -> word' -> pattern * 'd
method visit_Pattern_Pattern_Pipe_Word : 'c -> pattern' -> word' -> pattern * 'd
method visit_pattern : 'c -> pattern -> pattern * 'd
method visit_IfClause_If_CompoundList_Then_CompoundList_ElsePart_Fi : 'c -> compound_list' -> compound_list' -> else_part' -> if_clause * 'd
method visit_IfClause_If_CompoundList_Then_CompoundList_Fi : 'c -> compound_list' -> compound_list' -> if_clause * 'd
method visit_if_clause : 'c -> if_clause -> if_clause * 'd
method visit_ElsePart_Elif_CompoundList_Then_CompoundList : 'c -> compound_list' -> compound_list' -> else_part * 'd
method visit_ElsePart_Elif_CompoundList_Then_CompoundList_ElsePart : 'c -> compound_list' -> compound_list' -> else_part' -> else_part * 'd
method visit_ElsePart_Else_CompoundList : 'c -> compound_list' -> else_part * 'd
method visit_else_part : 'c -> else_part -> else_part * 'd
method visit_WhileClause_While_CompoundList_DoGroup : 'c -> compound_list' -> do_group' -> while_clause * 'd
method visit_while_clause : 'c -> while_clause -> while_clause * 'd
method visit_UntilClause_Until_CompoundList_DoGroup : 'c -> compound_list' -> do_group' -> until_clause * 'd
method visit_until_clause : 'c -> until_clause -> until_clause * 'd
method visit_FunctionDefinition_Fname_Lparen_Rparen_LineBreak_FunctionBody : 'c -> fname' -> linebreak' -> function_body' -> function_definition * 'd
method visit_function_definition : 'c -> function_definition -> function_definition * 'd
method visit_FunctionBody_CompoundCommand : 'c -> compound_command' -> function_body * 'd
method visit_FunctionBody_CompoundCommand_RedirectList : 'c -> compound_command' -> redirect_list' -> function_body * 'd
method visit_function_body : 'c -> function_body -> function_body * 'd
method visit_Fname_Name : 'c -> name -> fname * 'd
method visit_fname : 'c -> fname -> fname * 'd
method visit_BraceGroup_LBrace_CompoundList_RBrace : 'c -> compound_list' -> brace_group * 'd
method visit_brace_group : 'c -> brace_group -> brace_group * 'd
method visit_DoGroup_Do_CompoundList_Done : 'c -> compound_list' -> do_group * 'd
method visit_do_group : 'c -> do_group -> do_group * 'd
method visit_SimpleCommand_CmdPrefix_CmdWord_CmdSuffix : 'c -> cmd_prefix' -> cmd_word' -> cmd_suffix' -> simple_command * 'd
method visit_SimpleCommand_CmdPrefix_CmdWord : 'c -> cmd_prefix' -> cmd_word' -> simple_command * 'd
method visit_SimpleCommand_CmdPrefix : 'c -> cmd_prefix' -> simple_command * 'd
method visit_SimpleCommand_CmdName_CmdSuffix : 'c -> cmd_name' -> cmd_suffix' -> simple_command * 'd
method visit_SimpleCommand_CmdName : 'c -> cmd_name' -> simple_command * 'd
method visit_simple_command : 'c -> simple_command -> simple_command * 'd
method visit_CmdName_Word : 'c -> word' -> cmd_name * 'd
method visit_cmd_name : 'c -> cmd_name -> cmd_name * 'd
method visit_CmdWord_Word : 'c -> word' -> cmd_word * 'd
method visit_cmd_word : 'c -> cmd_word -> cmd_word * 'd
method visit_CmdPrefix_IoRedirect : 'c -> io_redirect' -> cmd_prefix * 'd
method visit_CmdPrefix_CmdPrefix_IoRedirect : 'c -> cmd_prefix' -> io_redirect' -> cmd_prefix * 'd
method visit_CmdPrefix_AssignmentWord : 'c -> assignment_word' -> cmd_prefix * 'd
method visit_CmdPrefix_CmdPrefix_AssignmentWord : 'c -> cmd_prefix' -> assignment_word' -> cmd_prefix * 'd
method visit_cmd_prefix : 'c -> cmd_prefix -> cmd_prefix * 'd
method visit_CmdSuffix_IoRedirect : 'c -> io_redirect' -> cmd_suffix * 'd
method visit_CmdSuffix_CmdSuffix_IoRedirect : 'c -> cmd_suffix' -> io_redirect' -> cmd_suffix * 'd
method visit_CmdSuffix_Word : 'c -> word' -> cmd_suffix * 'd
method visit_CmdSuffix_CmdSuffix_Word : 'c -> cmd_suffix' -> word' -> cmd_suffix * 'd
method visit_cmd_suffix : 'c -> cmd_suffix -> cmd_suffix * 'd
method visit_RedirectList_IoRedirect : 'c -> io_redirect' -> redirect_list * 'd
method visit_RedirectList_RedirectList_IoRedirect : 'c -> redirect_list' -> io_redirect' -> redirect_list * 'd
method visit_redirect_list : 'c -> redirect_list -> redirect_list * 'd
method visit_IoRedirect_IoFile : 'c -> io_file' -> io_redirect * 'd
method visit_IoRedirect_IoNumber_IoFile : 'c -> io_number -> io_file' -> io_redirect * 'd
method visit_IoRedirect_IoHere : 'c -> io_here' -> io_redirect * 'd
method visit_IoRedirect_IoNumber_IoHere : 'c -> io_number -> io_here' -> io_redirect * 'd
method visit_io_redirect : 'c -> io_redirect -> io_redirect * 'd
method visit_IoFile_Less_FileName : 'c -> filename' -> io_file * 'd
method visit_IoFile_LessAnd_FileName : 'c -> filename' -> io_file * 'd
method visit_IoFile_Great_FileName : 'c -> filename' -> io_file * 'd
method visit_IoFile_GreatAnd_FileName : 'c -> filename' -> io_file * 'd
method visit_IoFile_DGreat_FileName : 'c -> filename' -> io_file * 'd
method visit_IoFile_LessGreat_FileName : 'c -> filename' -> io_file * 'd
method visit_IoFile_Clobber_FileName : 'c -> filename' -> io_file * 'd
method visit_io_file : 'c -> io_file -> io_file * 'd
method visit_Filename_Word : 'c -> word' -> filename * 'd
method visit_filename : 'c -> filename -> filename * 'd
method visit_IoHere_DLess_HereEnd : 'c -> here_end' -> word' ref -> io_here * 'd
method visit_IoHere_DLessDash_HereEnd : 'c -> here_end' -> word' ref -> io_here * 'd
method visit_io_here : 'c -> io_here -> io_here * 'd
method visit_HereEnd_Word : 'c -> word' -> here_end * 'd
method visit_here_end : 'c -> here_end -> here_end * 'd
method visit_NewLineList_NewLine : 'c -> newline_list * 'd
method visit_NewLineList_NewLineList_NewLine : 'c -> newline_list' -> newline_list * 'd
method visit_newline_list : 'c -> newline_list -> newline_list * 'd
method visit_LineBreak_NewLineList : 'c -> newline_list' -> linebreak * 'd
method visit_LineBreak_Empty : 'c -> linebreak * 'd
method visit_linebreak : 'c -> linebreak -> linebreak * 'd
method visit_SeparatorOp_Uppersand : 'c -> separator_op * 'd
method visit_SeparatorOp_Semicolon : 'c -> separator_op * 'd
method visit_separator_op : 'c -> separator_op -> separator_op * 'd
method visit_Separator_SeparatorOp_LineBreak : 'c -> separator_op' -> linebreak' -> separator * 'd
method visit_Separator_NewLineList : 'c -> newline_list' -> separator * 'd
method visit_separator : 'c -> separator -> separator * 'd
method visit_SequentialSep_Semicolon_LineBreak : 'c -> linebreak' -> sequential_sep * 'd
method visit_SequentialSep_NewLineList : 'c -> newline_list' -> sequential_sep * 'd
method visit_sequential_sep : 'c -> sequential_sep -> sequential_sep * 'd
method visit_Word : 'c -> string -> word_cst -> word * 'd
method visit_word : 'c -> word -> word * 'd
method visit_word_cst : 'c -> word_cst -> word_cst * 'd
method visit_WordSubshell : 'c -> subshell_kind -> program located -> word_component * 'd
method visit_WordName : 'c -> string -> word_component * 'd
method visit_WordAssignmentWord : 'c -> assignment_word -> word_component * 'd
method visit_WordDoubleQuoted : 'c -> word -> word_component * 'd
method visit_WordSingleQuoted : 'c -> word -> word_component * 'd
method visit_WordTildePrefix : 'c -> string -> word_component * 'd
method visit_WordLiteral : 'c -> string -> word_component * 'd
method visit_WordVariable : 'c -> variable -> word_component * 'd
method visit_WordGlobAll : 'c -> word_component * 'd
method visit_WordGlobAny : 'c -> word_component * 'd
method visit_WordReBracketExpression : 'c -> bracket_expression -> word_component * 'd
method visit_WordEmpty : 'c -> word_component * 'd
method visit_word_component : 'c -> word_component -> word_component * 'd
method visit_BracketExpression_LBRACKET_MatchingList_RBRACKET : 'c -> matching_list -> bracket_expression * 'd
method visit_BracketExpression_LBRACKET_NonMatchingList_RBRACKET : 'c -> nonmatching_list -> bracket_expression * 'd
method visit_bracket_expression : 'c -> bracket_expression -> bracket_expression * 'd
method visit_MatchingList_BracketList : 'c -> bracket_list -> matching_list * 'd
method visit_matching_list : 'c -> matching_list -> matching_list * 'd
method visit_NonMatchingList_BracketList : 'c -> bracket_list -> nonmatching_list * 'd
method visit_nonmatching_list : 'c -> nonmatching_list -> nonmatching_list * 'd
method visit_BracketList_FollowList : 'c -> follow_list -> bracket_list * 'd
method visit_BracketList_FollowList_MINUS : 'c -> follow_list -> bracket_list * 'd
method visit_bracket_list : 'c -> bracket_list -> bracket_list * 'd
method visit_FollowList_ExpressionTerm : 'c -> expression_term -> follow_list * 'd
method visit_FollowList_FollowList_ExpressionTerm : 'c -> follow_list -> expression_term -> follow_list * 'd
method visit_follow_list : 'c -> follow_list -> follow_list * 'd
method visit_ExpressionTerm_SingleExpression : 'c -> single_expression -> expression_term * 'd
method visit_ExpressionTerm_RangeExpression : 'c -> range_expression -> expression_term * 'd
method visit_expression_term : 'c -> expression_term -> expression_term * 'd
method visit_SingleExpression_EndRange : 'c -> end_range -> single_expression * 'd
method visit_SingleExpression_CharacterClass : 'c -> character_class -> single_expression * 'd
method visit_SingleExpression_EquivalenceClass : 'c -> equivalence_class -> single_expression * 'd
method visit_single_expression : 'c -> single_expression -> single_expression * 'd
method visit_RangeExpression_StartRange_EndRange : 'c -> start_range -> end_range -> range_expression * 'd
method visit_RangeExpression_StartRange_MINUS : 'c -> start_range -> range_expression * 'd
method visit_range_expression : 'c -> range_expression -> range_expression * 'd
method visit_StartRange_EndRange_MINUS : 'c -> end_range -> start_range * 'd
method visit_start_range : 'c -> start_range -> start_range * 'd
method visit_EndRange_COLLELEMSINGLE : 'c -> char -> end_range * 'd
method visit_EndRangeCollatingSymbol : 'c -> collating_symbol -> end_range * 'd
method visit_end_range : 'c -> end_range -> end_range * 'd
method visit_CollatingSymbol_OpenDot_COLLELEMSINGLE_DotClose : 'c -> char -> collating_symbol * 'd
method visit_CollatingSymbol_OpenDot_COLLELEMMULTI_DotClose : 'c -> string -> collating_symbol * 'd
method visit_CollatingSymbol_OpenDot_METACHAR_DotClose : 'c -> char -> collating_symbol * 'd
method visit_collating_symbol : 'c -> collating_symbol -> collating_symbol * 'd
method visit_EquivalenceClass_OpenEqual_COLLELEMSINGLE_EqualClose : 'c -> char -> equivalence_class * 'd
method visit_EquivalenceClass_OpenEqual_COLLELEMMULTI_EqualClose : 'c -> string -> equivalence_class * 'd
method visit_equivalence_class : 'c -> equivalence_class -> equivalence_class * 'd
method visit_CharacterClass_OpenColon_CLASSNAME_ColonClose : 'c -> class_name -> character_class * 'd
method visit_character_class : 'c -> character_class -> character_class * 'd
method visit_ClassName : 'c -> string -> class_name * 'd
method visit_class_name : 'c -> class_name -> class_name * 'd
method visit_Range : 'e -> char list -> character_range * 'd
method visit_character_range : 'e -> character_range -> character_range * 'd
method visit_VariableAtom : 'c -> string -> variable_attribute -> variable * 'd
method visit_variable : 'c -> variable -> variable * 'd
method visit_NoAttribute : 'c -> variable_attribute * 'd
method visit_ParameterLength : 'c -> word -> variable_attribute * 'd
method visit_UseDefaultValues : 'c -> string -> word -> variable_attribute * 'd
method visit_AssignDefaultValues : 'c -> string -> word -> variable_attribute * 'd
method visit_IndicateErrorifNullorUnset : 'c -> string -> word -> variable_attribute * 'd
method visit_UseAlternativeValue : 'c -> string -> word -> variable_attribute * 'd
method visit_RemoveSmallestSuffixPattern : 'c -> word -> variable_attribute * 'd
method visit_RemoveLargestSuffixPattern : 'c -> word -> variable_attribute * 'd
method visit_RemoveSmallestPrefixPattern : 'c -> word -> variable_attribute * 'd
method visit_RemoveLargestPrefixPattern : 'c -> word -> variable_attribute * 'd
method visit_variable_attribute : 'c -> variable_attribute -> variable_attribute * 'd
method visit_SubShellKindBackQuote : 'c -> subshell_kind * 'd
method visit_SubShellKindParentheses : 'c -> subshell_kind * 'd
method visit_subshell_kind : 'c -> subshell_kind -> subshell_kind * 'd
method visit_Name : 'c -> string -> name * 'd
method visit_name : 'c -> name -> name * 'd
method visit_assignment_word : 'c -> assignment_word -> (name * word) * 'd
method visit_IONumber : 'c -> string -> io_number * 'd
method visit_io_number : 'c -> io_number -> io_number * 'd
method visit_program' : 'c -> program located -> program located * 'd
method visit_complete_commands' : 'c -> complete_commands' -> complete_commands' * 'd
method visit_complete_command' : 'c -> complete_command' -> complete_command' * 'd
method visit_clist' : 'c -> clist' -> clist' * 'd
method visit_and_or' : 'c -> and_or' -> and_or' * 'd
method visit_pipeline' : 'c -> pipeline' -> pipeline' * 'd
method visit_pipe_sequence' : 'c -> pipe_sequence' -> pipe_sequence' * 'd
method visit_command' : 'c -> command' -> command' * 'd
method visit_compound_command' : 'c -> compound_command' -> compound_command' * 'd
method visit_subshell' : 'c -> subshell' -> subshell' * 'd
method visit_compound_list' : 'c -> compound_list' -> compound_list' * 'd
method visit_term' : 'c -> term' -> term' * 'd
method visit_for_clause' : 'c -> for_clause' -> for_clause' * 'd
method visit_wordlist' : 'c -> wordlist' -> wordlist' * 'd
method visit_case_clause' : 'c -> case_clause' -> case_clause' * 'd
method visit_case_list_ns' : 'c -> case_list_ns' -> case_list_ns' * 'd
method visit_case_list' : 'c -> case_list' -> case_list' * 'd
method visit_case_item_ns' : 'c -> case_item_ns' -> case_item_ns' * 'd
method visit_case_item' : 'c -> case_item' -> case_item' * 'd
method visit_pattern' : 'c -> pattern' -> pattern' * 'd
method visit_if_clause' : 'c -> if_clause' -> if_clause' * 'd
method visit_else_part' : 'c -> else_part' -> else_part' * 'd
method visit_while_clause' : 'c -> while_clause' -> while_clause' * 'd
method visit_until_clause' : 'c -> until_clause' -> until_clause' * 'd
method visit_function_definition' : 'c -> function_definition' -> function_definition' * 'd
method visit_function_body' : 'c -> function_body' -> function_body' * 'd
method visit_fname' : 'c -> fname' -> fname' * 'd
method visit_brace_group' : 'c -> brace_group' -> brace_group' * 'd
method visit_do_group' : 'c -> do_group' -> do_group' * 'd
method visit_simple_command' : 'c -> simple_command' -> simple_command' * 'd
method visit_cmd_name' : 'c -> cmd_name' -> cmd_name' * 'd
method visit_cmd_word' : 'c -> cmd_word' -> cmd_word' * 'd
method visit_cmd_prefix' : 'c -> cmd_prefix' -> cmd_prefix' * 'd
method visit_cmd_suffix' : 'c -> cmd_suffix' -> cmd_suffix' * 'd
method visit_redirect_list' : 'c -> redirect_list' -> redirect_list' * 'd
method visit_io_redirect' : 'c -> io_redirect' -> io_redirect' * 'd
method visit_io_file' : 'c -> io_file' -> io_file' * 'd
method visit_filename' : 'c -> filename' -> filename' * 'd
method visit_io_here' : 'c -> io_here' -> io_here' * 'd
method visit_here_end' : 'c -> here_end' -> here_end' * 'd
method visit_newline_list' : 'c -> newline_list' -> newline_list' * 'd
method visit_linebreak' : 'c -> linebreak' -> linebreak' * 'd
method visit_separator_op' : 'c -> separator_op' -> separator_op' * 'd
method visit_separator' : 'c -> separator' -> separator' * 'd
method visit_sequential_sep' : 'c -> sequential_sep' -> sequential_sep' * 'd
method visit_word' : 'c -> word' -> word' * 'd
method visit_name' : 'c -> name' -> name' * 'd
method visit_assignment_word' : 'c -> assignment_word' -> assignment_word' * 'd
OCaml

Innovation. Community. Security.