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 fail_word_component : 'i -> 'd -> word_component -> word_component -> 'g
method visit_word_component : 'i -> 'd -> word_component -> word_component -> '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_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_Case : 'i -> 'd -> word -> word -> case_item' list -> case_item' list -> 'g
method visit_case_item' : 'i -> 'd -> case_item' -> case_item' -> 'g