Class AST.reduce2

constraint < fail_attribute : 'd -> attribute -> attribute -> 'g ; fail_command : 'd -> command -> command -> 'g ; fail_kind : 'd -> kind -> kind -> 'g ; fail_word_component : 'd -> word_component -> word_component -> 'g ; visit_And : 'd -> command' -> command' -> command' -> command' -> 'g ; visit_AssignDefaultValues : 'd -> word -> word -> 'g ; visit_Async : 'd -> command -> command -> 'g ; visit_Case : 'd -> word -> word -> case_item' list -> case_item' list -> 'g ; visit_For : 'd -> name -> name -> word list option -> word list option -> command' -> command' -> 'g ; visit_Function : 'd -> name -> name -> command' -> command' -> 'g ; visit_HereDocument : 'd -> command' -> command' -> descr -> descr -> word Morbig.CST.located -> word Morbig.CST.located -> 'g ; visit_If : 'd -> command' -> command' -> command' -> command' -> command' option -> command' option -> 'g ; visit_IndicateErrorifNullorUnset : 'd -> word -> word -> 'g ; visit_Input : 'd -> 'g ; visit_InputDuplicate : 'd -> 'g ; visit_InputOutput : 'd -> 'g ; visit_NoAttribute : 'd -> 'g ; visit_Not : 'd -> command' -> command' -> 'g ; visit_Or : 'd -> command' -> command' -> command' -> command' -> 'g ; visit_Output : 'd -> 'g ; visit_OutputAppend : 'd -> 'g ; visit_OutputClobber : 'd -> 'g ; visit_OutputDuplicate : 'd -> 'g ; visit_ParameterLength : 'd -> word -> word -> 'g ; visit_Pipe : 'd -> command' -> command' -> command' -> command' -> 'g ; visit_Redirection : 'd -> command' -> command' -> descr -> descr -> kind -> kind -> word -> word -> 'g ; visit_RemoveLargestPrefixPattern : 'd -> word -> word -> 'g ; visit_RemoveLargestSuffixPattern : 'd -> word -> word -> 'g ; visit_RemoveSmallestPrefixPattern : 'd -> word -> word -> 'g ; visit_RemoveSmallestSuffixPattern : 'd -> word -> word -> 'g ; visit_Seq : 'd -> command' -> command' -> command' -> command' -> 'g ; visit_Simple : 'd -> assignment Morbig.CST.located list -> assignment Morbig.CST.located list -> word Morbig.CST.located list -> word Morbig.CST.located list -> 'g ; visit_Subshell : 'd -> command' -> command' -> 'g ; visit_Until : 'd -> command' -> command' -> command' -> command' -> 'g ; visit_UseAlternativeValue : 'd -> word -> word -> 'g ; visit_UseDefaultValues : 'd -> word -> word -> 'g ; visit_WBracketExpression : 'd -> Morbig.CST.bracket_expression -> Morbig.CST.bracket_expression -> 'g ; visit_WDoubleQuoted : 'd -> word -> word -> 'g ; visit_WGlobAll : 'd -> 'g ; visit_WGlobAny : 'd -> 'g ; visit_WLiteral : 'd -> string -> string -> 'g ; visit_WSubshell : 'd -> program -> program -> 'g ; visit_WTildePrefix : 'd -> string -> string -> 'g ; visit_WVariable : 'd -> name -> name -> attribute -> attribute -> 'g ; visit_While : 'd -> command' -> command' -> command' -> command' -> 'g ; visit_assignment : 'd -> assignment -> assignment -> 'g ; visit_assignment' : 'd -> assignment Morbig.CST.located -> assignment Morbig.CST.located -> 'g ; visit_attribute : 'd -> attribute -> attribute -> 'g ; visit_case_item : 'd -> case_item -> case_item -> 'g ; visit_case_item' : 'd -> case_item' -> case_item' -> 'g ; visit_character_range : 'h -> char list -> char list -> 'g ; visit_command : 'd -> command -> command -> 'g ; visit_command' : 'd -> command' -> command' -> 'g ; visit_descr : 'd -> descr -> descr -> 'g ; visit_kind : 'd -> kind -> kind -> 'g ; visit_lexing_position : 'env. 'env -> Morbig.CST.lexing_position -> Morbig.CST.lexing_position -> 'g ; visit_located : 'env 'a_0 'a_1. ('env -> 'a_0 -> 'a_1 -> 'g) -> 'env -> 'a_0 Morbig.CST.located -> 'a_1 Morbig.CST.located -> 'g ; visit_name : 'd -> name -> name -> 'g ; visit_pattern : 'd -> pattern -> pattern -> 'g ; visit_pattern' : 'd -> pattern Morbig.CST.located -> pattern Morbig.CST.located -> 'g ; visit_position : 'env. 'env -> Morbig.CST.position -> Morbig.CST.position -> 'g ; visit_program : 'd -> program -> program -> 'g ; visit_word : 'd -> word -> word -> 'g ; visit_word' : 'd -> word Morbig.CST.located -> word Morbig.CST.located -> 'g ; visit_word_component : 'd -> word_component -> word_component -> 'g.. > = < fail_attribute : 'd -> attribute -> attribute -> 'g ; fail_command : 'd -> command -> command -> 'g ; fail_kind : 'd -> kind -> kind -> 'g ; fail_word_component : 'd -> word_component -> word_component -> 'g ; visit_And : 'd -> command' -> command' -> command' -> command' -> 'g ; visit_AssignDefaultValues : 'd -> word -> word -> 'g ; visit_Async : 'd -> command -> command -> 'g ; visit_Case : 'd -> word -> word -> case_item' list -> case_item' list -> 'g ; visit_For : 'd -> name -> name -> word list option -> word list option -> command' -> command' -> 'g ; visit_Function : 'd -> name -> name -> command' -> command' -> 'g ; visit_HereDocument : 'd -> command' -> command' -> descr -> descr -> word Morbig.CST.located -> word Morbig.CST.located -> 'g ; visit_If : 'd -> command' -> command' -> command' -> command' -> command' option -> command' option -> 'g ; visit_IndicateErrorifNullorUnset : 'd -> word -> word -> 'g ; visit_Input : 'd -> 'g ; visit_InputDuplicate : 'd -> 'g ; visit_InputOutput : 'd -> 'g ; visit_NoAttribute : 'd -> 'g ; visit_Not : 'd -> command' -> command' -> 'g ; visit_Or : 'd -> command' -> command' -> command' -> command' -> 'g ; visit_Output : 'd -> 'g ; visit_OutputAppend : 'd -> 'g ; visit_OutputClobber : 'd -> 'g ; visit_OutputDuplicate : 'd -> 'g ; visit_ParameterLength : 'd -> word -> word -> 'g ; visit_Pipe : 'd -> command' -> command' -> command' -> command' -> 'g ; visit_Redirection : 'd -> command' -> command' -> descr -> descr -> kind -> kind -> word -> word -> 'g ; visit_RemoveLargestPrefixPattern : 'd -> word -> word -> 'g ; visit_RemoveLargestSuffixPattern : 'd -> word -> word -> 'g ; visit_RemoveSmallestPrefixPattern : 'd -> word -> word -> 'g ; visit_RemoveSmallestSuffixPattern : 'd -> word -> word -> 'g ; visit_Seq : 'd -> command' -> command' -> command' -> command' -> 'g ; visit_Simple : 'd -> assignment Morbig.CST.located list -> assignment Morbig.CST.located list -> word Morbig.CST.located list -> word Morbig.CST.located list -> 'g ; visit_Subshell : 'd -> command' -> command' -> 'g ; visit_Until : 'd -> command' -> command' -> command' -> command' -> 'g ; visit_UseAlternativeValue : 'd -> word -> word -> 'g ; visit_UseDefaultValues : 'd -> word -> word -> 'g ; visit_WBracketExpression : 'd -> Morbig.CST.bracket_expression -> Morbig.CST.bracket_expression -> 'g ; visit_WDoubleQuoted : 'd -> word -> word -> 'g ; visit_WGlobAll : 'd -> 'g ; visit_WGlobAny : 'd -> 'g ; visit_WLiteral : 'd -> string -> string -> 'g ; visit_WSubshell : 'd -> program -> program -> 'g ; visit_WTildePrefix : 'd -> string -> string -> 'g ; visit_WVariable : 'd -> name -> name -> attribute -> attribute -> 'g ; visit_While : 'd -> command' -> command' -> command' -> command' -> 'g ; visit_assignment : 'd -> assignment -> assignment -> 'g ; visit_assignment' : 'd -> assignment Morbig.CST.located -> assignment Morbig.CST.located -> 'g ; visit_attribute : 'd -> attribute -> attribute -> 'g ; visit_case_item : 'd -> case_item -> case_item -> 'g ; visit_case_item' : 'd -> case_item' -> case_item' -> 'g ; visit_character_range : 'h -> char list -> char list -> 'g ; visit_command : 'd -> command -> command -> 'g ; visit_command' : 'd -> command' -> command' -> 'g ; visit_descr : 'd -> descr -> descr -> 'g ; visit_kind : 'd -> kind -> kind -> 'g ; visit_lexing_position : 'env. 'env -> Morbig.CST.lexing_position -> Morbig.CST.lexing_position -> 'g ; visit_located : 'env 'a_0 'a_1. ('env -> 'a_0 -> 'a_1 -> 'g) -> 'env -> 'a_0 Morbig.CST.located -> 'a_1 Morbig.CST.located -> 'g ; visit_name : 'd -> name -> name -> 'g ; visit_pattern : 'd -> pattern -> pattern -> 'g ; visit_pattern' : 'd -> pattern Morbig.CST.located -> pattern Morbig.CST.located -> 'g ; visit_position : 'env. 'env -> Morbig.CST.position -> Morbig.CST.position -> 'g ; visit_program : 'd -> program -> program -> 'g ; visit_word : 'd -> word -> word -> 'g ; visit_word' : 'd -> word Morbig.CST.located -> word Morbig.CST.located -> 'g ; visit_word_component : 'd -> word_component -> word_component -> 'g.. >
inherit Morsmall__.Location.located_reduce2
method visit_name : 'i -> 'd -> name -> name -> 'g
method visit_character_range : 'i -> 'h -> char list -> char list -> 'g
method visit_NoAttribute : 'i -> 'd -> 'g
method visit_ParameterLength : 'i -> 'd -> word -> word -> 'g
method visit_UseDefaultValues : 'i -> 'd -> word -> word -> 'g
method visit_AssignDefaultValues : 'i -> 'd -> word -> word -> 'g
method visit_IndicateErrorifNullorUnset : 'i -> 'd -> word -> word -> 'g
method visit_UseAlternativeValue : 'i -> 'd -> word -> word -> 'g
method visit_RemoveSmallestSuffixPattern : 'i -> 'd -> word -> word -> 'g
method visit_RemoveLargestSuffixPattern : 'i -> 'd -> word -> word -> 'g
method visit_RemoveSmallestPrefixPattern : 'i -> 'd -> word -> word -> 'g
method visit_RemoveLargestPrefixPattern : 'i -> 'd -> word -> word -> 'g
method fail_attribute : 'i -> 'd -> attribute -> attribute -> 'g
method visit_attribute : 'i -> 'd -> attribute -> attribute -> 'g
method visit_WTildePrefix : 'i -> 'd -> string -> string -> 'g
method visit_WLiteral : 'i -> 'd -> string -> string -> 'g
method visit_WDoubleQuoted : 'i -> 'd -> word -> word -> 'g
method visit_WVariable : 'i -> 'd -> name -> name -> attribute -> attribute -> 'g
method visit_WSubshell : 'i -> 'd -> program -> program -> 'g
method visit_WGlobAll : 'i -> 'd -> 'g
method visit_WGlobAny : 'i -> 'd -> 'g
method visit_WBracketExpression : 'i -> 'd -> Morbig.CST.bracket_expression -> Morbig.CST.bracket_expression -> 'g
method fail_word_component : 'i -> 'd -> word_component -> word_component -> 'g
method visit_word_component : 'i -> 'd -> word_component -> word_component -> 'g
method visit_word : 'i -> 'd -> word -> word -> 'g
method visit_word' : 'i -> 'd -> word Morbig.CST.located -> word Morbig.CST.located -> 'g
method visit_pattern : 'i -> 'd -> pattern -> pattern -> 'g
method visit_pattern' : 'i -> 'd -> pattern Morbig.CST.located -> pattern Morbig.CST.located -> 'g
method visit_assignment : 'i -> 'd -> assignment -> assignment -> 'g
method visit_assignment' : 'i -> 'd -> assignment Morbig.CST.located -> assignment Morbig.CST.located -> 'g
method visit_descr : 'i -> 'd -> descr -> descr -> 'g
method visit_program : 'i -> 'd -> program -> program -> 'g
method visit_Simple : 'i -> 'd -> assignment Morbig.CST.located list -> assignment Morbig.CST.located list -> word Morbig.CST.located list -> word Morbig.CST.located list -> 'g
method visit_Async : 'i -> 'd -> command -> command -> 'g
method visit_Seq : 'i -> 'd -> command' -> command' -> command' -> command' -> 'g
method visit_And : 'i -> 'd -> command' -> command' -> command' -> command' -> 'g
method visit_Or : 'i -> 'd -> command' -> command' -> command' -> command' -> 'g
method visit_Not : 'i -> 'd -> command' -> command' -> 'g
method visit_Pipe : 'i -> 'd -> command' -> command' -> command' -> command' -> 'g
method visit_Subshell : 'i -> 'd -> command' -> command' -> 'g
method visit_For : 'i -> 'd -> name -> name -> word list option -> word list option -> command' -> command' -> 'g
method visit_Case : 'i -> 'd -> word -> word -> case_item' list -> case_item' list -> 'g
method visit_If : 'i -> 'd -> command' -> command' -> command' -> command' -> command' option -> command' option -> 'g
method visit_While : 'i -> 'd -> command' -> command' -> command' -> command' -> 'g
method visit_Until : 'i -> 'd -> command' -> command' -> command' -> command' -> 'g
method visit_Function : 'i -> 'd -> name -> name -> command' -> command' -> 'g
method visit_Redirection : 'i -> 'd -> command' -> command' -> descr -> descr -> kind -> kind -> word -> word -> 'g
method visit_HereDocument : 'i -> 'd -> command' -> command' -> descr -> descr -> word Morbig.CST.located -> word Morbig.CST.located -> 'g
method fail_command : 'i -> 'd -> command -> command -> 'g
method visit_command : 'i -> 'd -> command -> command -> 'g
method visit_command' : 'i -> 'd -> command' -> command' -> 'g
method visit_case_item : 'i -> 'd -> case_item -> case_item -> 'g
method visit_case_item' : 'i -> 'd -> case_item' -> case_item' -> 'g
method visit_Output : 'i -> 'd -> 'g
method visit_OutputDuplicate : 'i -> 'd -> 'g
method visit_OutputAppend : 'i -> 'd -> 'g
method visit_OutputClobber : 'i -> 'd -> 'g
method visit_Input : 'i -> 'd -> 'g
method visit_InputDuplicate : 'i -> 'd -> 'g
method visit_InputOutput : 'i -> 'd -> 'g
method fail_kind : 'i -> 'd -> kind -> kind -> 'g
method visit_kind : 'i -> 'd -> kind -> kind -> 'g