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