package diffast-core
Class Delta_interpret.interpreter
constraint
'a =
< acc :
?from:??? ->
Diffast_core.Delta_base.Path.t ->
'b Diffast_core.Delta_common.node_t
; initial_acc :
?from:??? ->
Diffast_core.Delta_base.Path.t ->
'b Diffast_core.Delta_common.node_t
; initial_acc_parent :
?ignore_ofs:??? ->
?from:??? ->
Diffast_core.Delta_base.Path.t ->
'b Diffast_core.Delta_common.node_t
Diffast_core.Delta_common.Otree.acc_result
; initial_to_string : string
; make_subtree_copy :
?find_hook:??? ->
'b Diffast_core.Delta_common.node_t ->
'a
; mutate :
(Diffast_core.Delta_common.UID.t,
'b Diffast_core.Delta_common.node_t
Diffast_core.Delta_common.Otree.cluster_mutation
list)
Hashtbl.t ->
'b Diffast_core.Delta_common.node_t Diffast_core.Delta_base.Xset.t
; preorder_scan_all : (< data : 'b.. > -> unit) -> 'c
; prune_initial_nodes : 'b Diffast_core.Delta_common.node_t list -> 'd
; rev_scan_whole_initial_subtree :
'b Diffast_core.Delta_common.node_t ->
('e -> unit) ->
'f
; root : 'b Diffast_core.Delta_common.node_t
; scan_whole_initial : ('b Diffast_core.Delta_common.node_t -> unit) -> 'g
; search_node_by_uid :
Diffast_core.Delta_common.UID.t ->
'b Diffast_core.Delta_common.node_t
; setup_apath : 'h
; size_of_initial_cluster :
('b Diffast_core.Delta_common.node_t * 'i list) ->
int
; to_dot_initial : ?mklab:??? -> 'j list -> Buffer.t.. >val mutable dup_list : Diffast_core.Delta_base.subtree_key listval subtree_tbl : (Diffast_core.Delta_base.subtree_id, 'a) Hashtbl.tval copied_subtree_tbl : (Diffast_core.Delta_common.MID.t, 'a) Hashtbl.tval copied_subtree_sz_tbl : (Diffast_core.Delta_common.MID.t, int) Hashtbl.tval del_tbl : ('b Diffast_core.Delta_common.node_t,
('b Diffast_core.Delta_common.node_t
* 'b Diffast_core.Delta_common.node_t list)
list)
Hashtbl.tval marked_keys : Diffast_core.Delta_base.subtree_key
Diffast_core.Delta_base.Xset.tval mask_tbl : (Diffast_core.Delta_base.subtree_key,
int * int Diffast_core.Delta_base.Xset.t)
Hashtbl.tval upstream_node_tbl : ('b Diffast_core.Delta_common.node_t, int) Hashtbl.tval quasi_upstream_node_tbl : ('b Diffast_core.Delta_common.node_t, int)
Hashtbl.tval parent_key_tbl : ('b Diffast_core.Delta_common.node_t,
Diffast_core.Delta_base.subtree_key)
Hashtbl.tval parent_tbl : ('b Diffast_core.Delta_common.node_t,
'b Diffast_core.Delta_common.node_t * int * float)
Hashtbl.tval parent_resolver_tbl : ('b Diffast_core.Delta_common.node_t,
unit ->
'b Diffast_core.Delta_common.node_t * int * float)
Hashtbl.tval lift_point_tbl : ('b Diffast_core.Delta_common.node_t,
(int, float) Hashtbl.t)
Hashtbl.tval key_tbl : ('b Diffast_core.Delta_common.node_t,
Diffast_core.Delta_base.subtree_key)
Hashtbl.tval del_spec_tbl : (Diffast_core.Delta_base.subtree_key,
Diffast_core.Delta_base.path_c
* Diffast_core.Delta_base.boundary)
Hashtbl.tval sub_del_spec_tbl : (Diffast_core.Delta_base.MID.t,
Diffast_core.Delta_base.path_c
* Diffast_core.Delta_base.boundary)
Hashtbl.tval deleted_subtree_tbl : ('b Diffast_core.Delta_common.node_t,
Diffast_core.Delta_base.subtree_key option)
Hashtbl.tval deleted_mems_tbl : ('b Diffast_core.Delta_common.node_t,
('b Diffast_core.Delta_common.node_t
* 'b Diffast_core.Delta_common.node_t list)
list)
Hashtbl.tval canceled_dels : 'b Diffast_core.Delta_common.node_t
Diffast_core.Delta_base.Xset.tval excluded_paths_tbl : (Diffast_core.Delta_base.MID.t,
'a
* 'b Diffast_core.Delta_common.node_t
* Diffast_core.Delta_base.boundary)
Hashtbl.tval frontier_tbl : (Diffast_core.Delta_base.MID.t,
('b Diffast_core.Delta_common.SB.Otree.node2 * int) list)
Hashtbl.tval key_link_tbl : (Diffast_core.Delta_base.subtree_key,
Diffast_core.Delta_base.subtree_key list)
Hashtbl.tval boundary_tbl : (Diffast_core.Delta_base.subtree_key,
Diffast_core.Delta_base.boundary)
Hashtbl.tval roots_of_upstream_staying_move : 'b Diffast_core.Delta_common.node_t
Diffast_core.Delta_base.Xset.tval extra_upstream_roots : 'b Diffast_core.Delta_common.node_t
Diffast_core.Delta_base.Xset.tval immediately_pruned_nodes : 'k Diffast_core.Delta_base.Xset.tval forced_upstream_nodes : 'b Diffast_core.Delta_common.node_t
Diffast_core.Delta_base.Xset.tval upstream_dest_tbl : ('b Diffast_core.Delta_common.node_t,
Diffast_core.Delta_base.subtree_key)
Hashtbl.tval junc_nodes : 'b Diffast_core.Delta_common.node_t
Diffast_core.Delta_base.Xset.tval staying_moves : Diffast_core.Delta_base.MID.t
Diffast_core.Delta_base.Xset.tval move_relabel_tbl : ('b Diffast_core.Delta_common.node_t,
'b Diffast_core.Delta_common.node_t ->
unit)
Hashtbl.tval pos_trans_tbl : ('b Diffast_core.Delta_common.node_t,
(int,
(float, 'b Diffast_core.Delta_common.node_t) Hashtbl.t)
Hashtbl.t)
Hashtbl.tval extra_pos_trans_tbl : ('b Diffast_core.Delta_common.node_t,
(int,
(float, 'b Diffast_core.Delta_common.node_t)
Hashtbl.t)
Hashtbl.t)
Hashtbl.tval nodes_to_be_shifted : 'b Diffast_core.Delta_common.node_t
Diffast_core.Delta_base.Xset.tval pos_shift_tbl : ('b Diffast_core.Delta_common.node_t, int) Hashtbl.tval recovered_nodes : 'b Diffast_core.Delta_common.node_t
Diffast_core.Delta_base.Xset.tval path_tbl : ('b Diffast_core.Delta_common.node_t,
Diffast_core.Delta_base.path_c)
Hashtbl.tval path_depth_tbl : ('b Diffast_core.Delta_common.node_t, int) Hashtbl.tval path_key_tbl : ('b Diffast_core.Delta_common.node_t,
Diffast_core.Delta_base.subtree_key)
Hashtbl.tval composition_tbl : (Diffast_core.Delta_base.subtree_key,
Diffast_core.Delta_base.subtree_key)
Hashtbl.tval renamed_nodes : 'b Diffast_core.Delta_common.node_t
Diffast_core.Delta_base.Xset.tmethod add_move_relabel : 'b Diffast_core.Delta_common.node_t ->
('b Diffast_core.Delta_common.node_t -> unit) ->
unitmethod private get_path : 'b Diffast_core.Delta_common.node_t ->
Diffast_core.Delta_base.Path.tmethod private add_composition : Diffast_core.Delta_base.subtree_key ->
Diffast_core.Delta_base.subtree_key ->
unitmethod private is_ancestor_key : Diffast_core.Delta_base.subtree_key ->
Diffast_core.Delta_base.subtree_key ->
boolmethod private reg_pos_shift : 'b Diffast_core.Delta_common.node_t ->
int ->
unitmethod private is_staying_move : Diffast_core.Delta_base.MID.t -> boolmethod private is_junc_node : 'b Diffast_core.Delta_common.node_t -> boolmethod private force_upstream : ?key_opt:??? ->
'b Diffast_core.Delta_common.node_t ->
unitmethod private unforce_upstream : 'b Diffast_core.Delta_common.node_t -> unitmethod private set_upstream_dest : 'b Diffast_core.Delta_common.node_t ->
Diffast_core.Delta_base.subtree_key ->
unitmethod private get_upstream_dest : 'b Diffast_core.Delta_common.node_t ->
Diffast_core.Delta_base.subtree_keymethod private is_forced_upstream : 'b Diffast_core.Delta_common.node_t -> boolmethod private get_deleted_mems : 'b Diffast_core.Delta_common.node_t ->
('b Diffast_core.Delta_common.node_t
* 'b Diffast_core.Delta_common.node_t list)
listmethod private has_deleted_mems : 'b Diffast_core.Delta_common.node_t -> boolmethod private reg_boundary : Diffast_core.Delta_base.subtree_key ->
Diffast_core.Delta_base.boundary ->
unitmethod private get_boundary : Diffast_core.Delta_base.subtree_key ->
Diffast_core.Delta_base.boundarymethod private link_keys : Diffast_core.Delta_base.subtree_key ->
Diffast_core.Delta_base.subtree_key ->
unitmethod private get_child_keys : Diffast_core.Delta_base.subtree_key ->
Diffast_core.Delta_base.subtree_key listmethod private is_deleted : 'b Diffast_core.Delta_common.node_t -> boolmethod private _find_key_of_deleted : 'b Diffast_core.Delta_common.node_t ->
Diffast_core.Delta_base.subtree_keymethod private _find_key_opt_of_deleted : 'b Diffast_core.Delta_common.node_t ->
Diffast_core.Delta_base.subtree_key optionmethod find_key_opt_of_deleted : 'b Diffast_core.Delta_common.node_t ->
Diffast_core.Delta_base.subtree_key optionmethod private find_key_of_deleted : 'b Diffast_core.Delta_common.node_t ->
Diffast_core.Delta_base.subtree_keymethod private is_stable : 'b Diffast_core.Delta_common.node_t -> boolmethod private find_key : 'b Diffast_core.Delta_common.node_t ->
Diffast_core.Delta_base.subtree_keymethod private remove_key : 'b Diffast_core.Delta_common.node_t -> unitmethod private find_key_opt : 'b Diffast_core.Delta_common.node_t ->
Diffast_core.Delta_base.subtree_key optionmethod private is_insert : 'b Diffast_core.Delta_common.node_t -> boolmethod private find_parent_key : 'b Diffast_core.Delta_common.node_t ->
Diffast_core.Delta_base.subtree_keymethod private find_parent_key_opt : 'b Diffast_core.Delta_common.node_t ->
Diffast_core.Delta_base.subtree_key optionmethod private has_parent_key_stable : 'b Diffast_core.Delta_common.node_t ->
boolmethod private has_parent_key : 'b Diffast_core.Delta_common.node_t -> boolmethod private find_parent : 'b Diffast_core.Delta_common.node_t ->
'b Diffast_core.Delta_common.node_t * int * floatmethod private has_parent : 'b Diffast_core.Delta_common.node_t -> boolmethod private add_to_parent_tbl : 'b Diffast_core.Delta_common.node_t ->
('b Diffast_core.Delta_common.node_t * int * float) ->
unitmethod private register_parent_resolver : 'b Diffast_core.Delta_common.node_t ->
(unit -> 'b Diffast_core.Delta_common.node_t * int * float) ->
unitmethod private remove_from_parent_tbl : 'b Diffast_core.Delta_common.node_t ->
unitmethod private remove_from_parent_key_tbl : 'b Diffast_core.Delta_common.node_t ->
unitmethod private reg_extra_upstream_root : 'b Diffast_core.Delta_common.node_t ->
unitmethod private is_extra_upstream_root : 'b Diffast_core.Delta_common.node_t ->
boolmethod private reg_root_of_upstream_staying_move : 'b
Diffast_core.Delta_common.node_t ->
unitmethod private unreg_root_of_upstream_staying_move : 'b
Diffast_core.Delta_common.node_t ->
unitmethod private is_root_of_upstream_staying_move : 'b
Diffast_core.Delta_common.node_t ->
boolmethod private reg_upstream_node : 'b Diffast_core.Delta_common.node_t ->
int ->
unitmethod private reg_quasi_upstream_node : 'b Diffast_core.Delta_common.node_t ->
int ->
unitmethod private get_upstream_count : 'b Diffast_core.Delta_common.node_t -> intmethod private get_quasi_upstream_count : 'b Diffast_core.Delta_common.node_t ->
intmethod private has_key_opt : Diffast_core.Delta_base.subtree_key option ->
'b Diffast_core.Delta_common.node_t ->
boolmethod private is_upstream_node : 'b Diffast_core.Delta_common.node_t -> boolmethod private mark_key : Diffast_core.Delta_base.subtree_key -> unitmethod private is_marked_key : Diffast_core.Delta_base.subtree_key -> boolmethod private set_mask : Diffast_core.Delta_base.subtree_key ->
int ->
int Diffast_core.Delta_base.Xset.t ->
unitmethod private get_mask : Diffast_core.Delta_base.subtree_key ->
int ->
int Diffast_core.Delta_base.Xset.tmethod find_subtree : Diffast_core.Delta_base.subtree_key -> 'amethod find_copied_subtree_size : Diffast_core.Delta_base.subtree_key -> intmethod mutate_tree : 'a ->
'b Diffast_core.Delta_common.node_t Diffast_core.Delta_base.Xset.tmethod init_mutation : 'b Diffast_core.Delta_common.node_t
Diffast_core.Delta_base.Xset.t ->
unitmethod private compare_nodes : ?get_idx_opt:??? ->
'b Diffast_core.Delta_common.node_t ->
'b Diffast_core.Delta_common.node_t ->
intmethod private get_nodes_from_uid : Diffast_core.Delta_common.UID.t ->
'b Diffast_core.Delta_common.node_t listmethod private _mutate : ?get_idx_opt:??? ->
?overwrite:??? ->
'b Diffast_core.Delta_common.node_t Diffast_core.Delta_base.Xset.t ->
unitmethod dump_dot_ch : out_channel -> unitmethod prune_deferred : 'b Diffast_core.Delta_common.node_t
Diffast_core.Delta_base.Xset.t ->
unitmethod reg_deleted : Diffast_core.Delta_base.path_c ->
Diffast_core.Delta_base.boundary ->
Diffast_core.Delta_base.subtree_key option ->
unitmethod reg_parent : Diffast_core.Delta_base.path_c ->
Diffast_core.Delta_base.boundary ->
unitmethod reg_subtree : ?key_opt:??? ->
?adj_opt:??? ->
?depth_opt:??? ->
?shift_opt:??? ->
?dup:??? ->
Diffast_core.Delta_base.subtree_id ->
'a ->
Diffast_core.Delta_base.path_c ->
Diffast_core.Delta_base.boundary ->
unitmethod reg_moved_subtree : ?key_opt:??? ->
?adj_opt:??? ->
?depth_opt:??? ->
?shift_opt:??? ->
?dup:??? ->
Diffast_core.Delta_base.MID.t ->
Diffast_core.Delta_base.path_c ->
Diffast_core.Delta_base.boundary ->
Diffast_core.Delta_base.path_c ->
Diffast_core.Delta_base.boundary ->
unitmethod has_p_descendant : ?moveon:??? ->
('b Diffast_core.Delta_common.node_t -> bool) ->
'b Diffast_core.Delta_common.node_t ->
boolmethod has_stable_descendant : 'b Diffast_core.Delta_common.node_t -> boolmethod private skip_deleted : ?limit:??? ->
'b Diffast_core.Delta_common.node_t ->
'b Diffast_core.Delta_common.node_t * intmethod private _check_key : Diffast_core.Delta_base.subtree_key -> boolmethod is_true_stable_node : ?weak:??? ->
'b Diffast_core.Delta_common.node_t ->
boolmethod has_true_stable_descendant : ?weak:??? ->
'b Diffast_core.Delta_common.node_t ->
boolmethod has_stable_or_inserted_descendant : 'b Diffast_core.Delta_common.node_t ->
boolmethod insert_cluster : ?partial:??? ->
'b Diffast_core.Delta_common.node_t ->
int ->
float ->
'b Diffast_core.Delta_common.node_t ->
('b Diffast_core.Delta_common.node_t * Diffast_misc.Path.Elem.t) list ->
unitmethod _prune_cluster : 'b Diffast_core.Delta_common.node_t ->
int ->
'b Diffast_core.Delta_common.node_t list ->
unitmethod prune_cluster : 'b Diffast_core.Delta_common.SB.Otree.node2 ->
int ->
'b Diffast_core.Delta_common.node_t list ->
unitmethod acc : Diffast_core.Delta_base.Path.t ->
'b Diffast_core.Delta_common.node_tmethod acc_from : 'b Diffast_core.Delta_common.node_t ->
Diffast_core.Delta_base.Path.t ->
'b Diffast_core.Delta_common.node_tmethod acc_parent : ?ignore_ofs:??? ->
Diffast_core.Delta_base.Path.t ->
'b Diffast_core.Delta_common.node_t
Diffast_core.Delta_common.Otree.acc_resultmethod boundary_to_nds_from : ?junc:??? ->
'b Diffast_core.Delta_common.node_t ->
Diffast_core.Delta_base.boundary ->
'b Diffast_core.Delta_common.node_t listmethod boundary_to_nds : ?junc:??? ->
Diffast_core.Delta_base.path_c ->
Diffast_core.Delta_base.boundary ->
'b Diffast_core.Delta_common.node_t listmethod insert_into_subtree : ?adj:??? ->
?shift:??? ->
Diffast_core.Delta_base.path_c ->
int ->
'a ->
'a ->
('b Diffast_core.Delta_common.node_t * Diffast_misc.Path.Elem.t) list ->
unitmethod interpret_delete : Diffast_core.Delta_base.path_c ->
Diffast_core.Delta_base.boundary ->
unitmethod interpret_insert : Diffast_core.Delta_base.subtree_key ->
'a ->
Diffast_core.Delta_base.path_c ->
Diffast_core.Delta_base.boundary ->
Diffast_core.Delta_base.subtree_key option ->
int option ->
int option ->
int option ->
unitmethod interpret_move : ?mctl:??? ->
Diffast_core.Delta_base.MID.t ->
Diffast_core.Delta_base.path_c ->
Diffast_core.Delta_base.boundary ->
Diffast_core.Delta_base.path_c ->
Diffast_core.Delta_base.boundary ->
Diffast_core.Delta_base.subtree_key option ->
int option ->
int option ->
int option ->
unitmethod interpret_change : ?mctl:??? ->
Diffast_core.Delta_base.path_c ->
Diffast_core.Delta_base.boundary ->
'a ->
unitmethod interpret_change_attr : ?mctl:??? ->
Diffast_core.Delta_base.path_c ->
string ->
string ->
unitmethod interpret_delete_attr : ?mctl:??? ->
Diffast_core.Delta_base.path_c ->
string ->
unitmethod interpret_insert_attr : ?mctl:??? ->
Diffast_core.Delta_base.path_c ->
string ->
string ->
unitmethod private is_edited_node : 'b Diffast_core.Delta_common.node_t -> bool