Module Code_util_pattern_matcher

module Code_util_pattern_matcher: sig .. end

type navigation_param = Optimization_walker.sub_expr_kind * int 
type algop_test_function = Algebra_type.algop_expr -> bool 
type 'a state_update_function = Algebra_type.algop_expr -> 'a -> 'a 
type 'a test_and_apply = Algebra_type.algop_expr -> 'a -> bool * 'a 
type 'a pattern_matcher_pattern_element = navigation_param *
'a test_and_apply
type 'a pattern_matcher_pattern = 'a pattern_matcher_pattern_element list 
val mk_dep_child_param : int -> navigation_param
val mk_indep_child_param : int -> navigation_param
val dep_zero : navigation_param
val indep_zero : navigation_param
val extract_term : algop_test_function ->
'a state_update_function ->
Algebra_type.algop_expr -> 'a -> bool * 'a
val no_extraction : algop_test_function ->
Algebra_type.algop_expr -> 'a -> bool * 'a
val walk_patterns : 'a ->
'a pattern_matcher_pattern list ->
Algebra_type.algop_expr -> bool * 'a