Module Xquery_algebra_ast_util

module Xquery_algebra_ast_util: sig .. end

val fmkapattern : Xquery_algebra_ast.apattern_desc ->
Finfo.finfo -> Xquery_algebra_ast.apattern
val fmkasequencetype : Xquery_algebra_ast.asequencetype_desc ->
Finfo.finfo -> Xquery_algebra_ast.asequencetype
val algop_mkop : 'a ->
Xquery_algebra_ast.expr_eval_sig option ->
Xquery_algebra_ast.algop_expr_name ->
('a, 'b) Xquery_algebra_ast.aalgop_sub_exprs ->
('a, 'b) Xquery_algebra_ast.aalgop_sub_exprs ->
'b ->
Xquery_algebra_ast.free_variable_desc option ->
Xquery_ast.expr_handle ->
Finfo.finfo -> ('a, 'b) Xquery_algebra_ast.aalgop_expr
val algop_decl_mkop : 'c ->
Xquery_algebra_ast.algop_decl_name ->
('a, 'b) Xquery_algebra_ast.aalgop_sub_exprs ->
('a, 'b) Xquery_algebra_ast.aalgop_sub_exprs ->
'b -> Finfo.finfo -> ('a, 'b, 'c) Xquery_algebra_ast.aalgop_decl
val fmkalgop_function_body : Xquery_common_ast.cvname array ->
('a, 'b) Xquery_algebra_ast.aalgop_function_plan ->
('a, 'b) Xquery_algebra_ast.aalgop_expr option ->
Xquery_algebra_ast.asequencetype option ->
('a, 'b) Xquery_algebra_ast.aalgop_function_body
val fmkalgop_function_decl : ('a, 'b) Xquery_algebra_ast.aalgop_function_decl_desc ->
Finfo.finfo -> ('a, 'b) Xquery_algebra_ast.aalgop_function_decl
val fmkalgop_prolog : ('a, 'b) Xquery_algebra_ast.aalgop_function_decl list ->
('a, 'b, 'c) Xquery_algebra_ast.aalgop_decl list ->
('a, 'b, 'c) Xquery_algebra_ast.aalgop_decl list ->
('a, 'b, 'c) Xquery_algebra_ast.aalgop_prolog
val fmkalgop_xmodule : ('a, 'b, 'c) Xquery_algebra_ast.aalgop_prolog ->
('a, 'b) Xquery_algebra_ast.aalgop_expr list ->
('a, 'b, 'c) Xquery_algebra_ast.aalgop_xmodule
val aalgop_mkop : Xquery_algebra_ast.algop_expr_name ->
'a Logical_algebra_types.semilogical_opt_algop_sub_exprs ->
'a Logical_algebra_types.semilogical_opt_algop_sub_exprs ->
Xquery_algebra_ast.free_variable_desc option ->
Xquery_ast.expr_handle ->
Finfo.finfo -> 'a Logical_algebra_types.semilogical_opt_algop_expr
val logical_aalgop_mkop : Xquery_algebra_ast.algop_expr_name ->
Logical_algebra_types.logical_algop_sub_exprs ->
Logical_algebra_types.logical_algop_sub_exprs ->
Xquery_algebra_ast.free_variable_desc option ->
Xquery_ast.expr_handle ->
Finfo.finfo -> Logical_algebra_types.logical_algop_expr
val replace_aalgop_name : 'a Logical_algebra_types.semilogical_opt_algop_expr ->
Xquery_algebra_ast.algop_expr_name ->
'a Logical_algebra_types.semilogical_opt_algop_expr
val aalgop_decl_mkop : Xquery_algebra_ast.algop_decl_name ->
'a Logical_algebra_types.semilogical_algop_sub_exprs ->
'a Logical_algebra_types.semilogical_algop_sub_exprs ->
Finfo.finfo -> ('a, 'b) Logical_algebra_types.semilogical_algop_decl
val logical_aalgop_decl_mkop : Xquery_algebra_ast.algop_decl_name ->
Logical_algebra_types.logical_algop_sub_exprs ->
Logical_algebra_types.logical_algop_sub_exprs ->
Finfo.finfo -> Logical_algebra_types.logical_algop_decl
val copy_algop : ('a, 'b) Xquery_algebra_ast.aalgop_expr ->
('a, 'b) Xquery_algebra_ast.aalgop_expr
val mk_annotation : Xquery_algebra_ast.variable_use_count list ->
Xquery_algebra_ast.variable_use_count list ->
Xquery_algebra_ast.tuple_fields ->
Xquery_algebra_ast.tuple_fields ->
Xquery_algebra_ast.tuple_field_use_count list *
Xquery_algebra_ast.tuple_fields * Xquery_algebra_ast.cardinality ->
Xquery_algebra_ast.free_variable_desc
val access_nosub : ('a, 'b) Xquery_algebra_ast.aalgop_sub_exprs -> unit
val access_unitsub : ('a, 'b) Xquery_algebra_ast.aalgop_sub_exprs -> unit
val access_onesub : ('a, 'b) Xquery_algebra_ast.aalgop_sub_exprs ->
('a, 'b) Xquery_algebra_ast.aalgop_expr
val access_twosub : ('a, 'b) Xquery_algebra_ast.aalgop_sub_exprs ->
('a, 'b) Xquery_algebra_ast.aalgop_expr *
('a, 'b) Xquery_algebra_ast.aalgop_expr
val access_manysub : ('a, 'b) Xquery_algebra_ast.aalgop_sub_exprs ->
('a, 'b) Xquery_algebra_ast.aalgop_expr array
val empty_statement : Logical_algebra_types.logical_algop_expr
val empty_prolog_plan : ('a, 'b, 'c) Xquery_algebra_ast.aalgop_prolog
val empty_xmodule : ('a, 'b, 'c) Xquery_algebra_ast.aalgop_xmodule
val merge_alg_prologs : ('a, 'b, 'c) Xquery_algebra_ast.aalgop_prolog ->
('a, 'b, 'c) Xquery_algebra_ast.aalgop_prolog ->
('a, 'b, 'c) Xquery_algebra_ast.aalgop_prolog
val subexpr_to_list : ('a, 'b) Xquery_algebra_ast.aalgop_sub_exprs ->
('a, 'b) Xquery_algebra_ast.aalgop_expr list
val get_group_names : Xquery_algebra_ast.group_desc -> Xquery_algebra_ast.seq_group_name list
val get_induced_group : Xquery_algebra_ast.group_desc -> Xquery_common_ast.cvname list
val get_valid_names : Xquery_algebra_ast.group_desc -> Xquery_algebra_ast.seq_group_name list
val get_aggregate_name : Xquery_algebra_ast.group_desc -> Xquery_common_ast.cvname
val get_aggregate_type : Xquery_algebra_ast.group_desc -> Xquery_algebra_ast.asequencetype option
val get_aggregate_name_and_type : Xquery_algebra_ast.group_desc ->
Xquery_algebra_ast.asequencetype option * Xquery_common_ast.cvname
val mk_group_desc : Xquery_algebra_ast.seq_group_name list ->
Xquery_algebra_ast.seq_group_name list ->
Xquery_common_ast.cvname list ->
Xquery_algebra_ast.asequencetype option * Xquery_common_ast.cvname ->
Xquery_algebra_ast.group_desc
val split_main_module_plan : ('a, 'b, 'c) Xquery_algebra_ast.aalgop_xmodule ->
('a, 'b, 'c) Xquery_algebra_ast.aalgop_prolog *
('a, 'b) Xquery_algebra_ast.aalgop_expr list
val get_all_outputs_from_twig_pattern : Xquery_algebra_ast.twig_pattern -> Xquery_common_ast.crname list
val get_restored_outputs_from_twig_pattern : Xquery_algebra_ast.twig_pattern -> Xquery_common_ast.crname list
val get_node_tests_from_twig_pattern : Xquery_algebra_ast.twig_pattern -> Xquery_algebra_ast.anode_test list
val get_leaf_twig_node : Xquery_algebra_ast.twig_pattern -> int -> Xquery_algebra_ast.twig_node
val get_first_leaf_node_index : Xquery_algebra_ast.twig_pattern -> int -> int
val get_select_path : Xquery_algebra_ast.twig_pattern -> int array
val is_leaf_node : Xquery_algebra_ast.twig_pattern -> Xquery_algebra_ast.twig_node -> bool
val is_root_node : Xquery_algebra_ast.twig_pattern -> Xquery_algebra_ast.twig_node -> bool
val get_parent_node_index : Xquery_algebra_ast.twig_pattern -> Xquery_algebra_ast.twig_node -> int
val get_child_node_indices : Xquery_algebra_ast.twig_pattern -> Xquery_algebra_ast.twig_node -> int list
val get_sub_node_indices : Xquery_algebra_ast.twig_pattern -> Xquery_algebra_ast.twig_node -> int list
val append_twigs : Xquery_algebra_ast.twig_pattern ->
Xquery_algebra_ast.twig_pattern ->
Xquery_common_ast.crname -> Xquery_algebra_ast.twig_pattern
val merge_twigs : Xquery_algebra_ast.twig_pattern ->
(Xquery_common_ast.crname * Xquery_algebra_ast.twig_pattern) list ->
Xquery_algebra_ast.twig_pattern
val replace_field_in_pattern : Xquery_algebra_ast.twig_pattern ->
Xquery_common_ast.crname -> Xquery_common_ast.crname -> bool
val is_streamable_treepattern : Xquery_algebra_ast.twig_pattern -> bool
val is_single_step_twig : Xquery_algebra_ast.twig_pattern -> bool
val find_attach_point : Xquery_algebra_ast.twig_pattern -> Xquery_common_ast.crname -> int
val get_axis_array : Xquery_algebra_ast.twig_pattern -> Xquery_common_ast.axis array
val pname_of_algop : ('a, 'b) Xquery_algebra_ast.aalgop_expr ->
Xquery_physical_algebra_ast.physop_expr_name
val string_of_algop_expr_name : Xquery_algebra_ast.algop_expr_name -> string
val get_annotation_if_exists : string ->
('a, 'b) Xquery_algebra_ast.aalgop_expr ->
Xquery_algebra_ast.free_variable_desc
val aelement_test_equal : Xquery_algebra_ast.aelement_test -> Xquery_algebra_ast.aelement_test -> bool
val aattribute_test_equal : Xquery_algebra_ast.aattribute_test ->
Xquery_algebra_ast.aattribute_test -> bool
val akind_test_equal : Xquery_algebra_ast.akind_test -> Xquery_algebra_ast.akind_test -> bool
val anode_test_equal : Xquery_algebra_ast.anode_test -> Xquery_algebra_ast.anode_test -> bool
val is_access_tuple : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_any_join : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_outer_join : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_regular_join : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_a_tuple_input_map : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_a_sep_sequence : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_a_map_index : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_a_dep_map : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_a_map : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_an_outer_mapconcat : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_a_non_concat_map : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_a_map_concat : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_any_map_concat : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_a_map_from_item : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_a_map_to_item : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_select : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_project : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_product : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_empty_tuple : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_some : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_null_map : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_boolean : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_distinct_value : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_fn_data : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_equal : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_gt : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_ge : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_lt : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_le : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_fs_untyped_to_any : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_input_tuple : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_group : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val is_tupletreepattern : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> bool
val get_map_from_item_name : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> Xquery_common_ast.crname
val get_outer_map_name : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> Xquery_common_ast.crname
val get_sep_sequence_name : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> Xquery_common_ast.crname
val get_outer_join_name : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> Xquery_common_ast.crname
val get_null_map_name : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> Xquery_common_ast.crname
val get_function_name : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> Xquery_common_ast.crname option
val calls_builtin_functions : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> Xquery_common_ast.crname list
val calls_user_defined_functions : ('a, 'b) Xquery_algebra_ast.aalgop_expr -> Xquery_common_ast.crname list