X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=tree.mli;h=d8a49c96d55bee08f9b2fab2ca1c8a4f0aafebfa;hb=25dd7fcc77c2188732d96d5ff98d759bb81737cb;hp=a2ad7f3010a035301071fec9d503148193718fac;hpb=5b4679e20761058f1e04c123da52631c0dd265cc;p=SXSI%2Fxpathcomp.git diff --git a/tree.mli b/tree.mli index a2ad7f3..d8a49c9 100644 --- a/tree.mli +++ b/tree.mli @@ -1,56 +1,54 @@ -(******************************************************************************) -(* SXSI : XPath evaluator *) -(* Kim Nguyen (Kim.Nguyen@nicta.com.au) *) -(* Copyright NICTA 2008 *) -(* Distributed under the terms of the LGPL (see LICENCE) *) -(******************************************************************************) -module type BINARY = -sig - type node_content - type string_content - type descr = Nil| Node of node_content | String of string_content - type t - val parse_xml_uri : string -> t - val parse_xml_string : string -> t - val save : t -> string -> unit - val load : ?sample:int -> string -> t - val tag_pool : t -> Tag.pool - val string : t -> string - val descr : t -> descr - val is_node : t -> bool - val left : t -> t - val right : t -> t - val first_child : t -> t - val next_sibling : t -> t - val parent : t -> t - val id : t -> int - val tag : t -> Tag.t - val print_xml_fast : out_channel -> t -> unit - val compare : t -> t -> int - val equal : t -> t -> bool - module DocIdSet : - sig - include Set.S - end with type elt = string_content - val string_below : t -> string_content -> bool - val contains : t -> string -> DocIdSet.t - val contains_old : t -> string -> bool - val dump : t -> unit - val get_string : t -> string_content -> string - val has_tagged_desc : t -> Tag.t -> bool - val has_tagged_foll : t -> Tag.t -> bool - val tagged_desc : t -> Tag.t -> t - val tagged_foll : t -> Tag.t -> t - val tagged_next : t -> Tag.t -> t - val subtree_tags : t -> Tag.t -> int -end - -module Binary : BINARY - -IFDEF DEBUG -THEN -module DEBUGTREE : sig - include BINARY - val print_stats : Format.formatter -> unit -end -ENDIF +type t +val init_contains : t -> string -> unit +val init_naive_contains : t -> string -> unit +val is_nil : t -> bool +val is_node : t -> bool +val dump_node : t -> string +val parse_xml_uri : string -> t +val parse_xml_string : string -> t +val save : t -> string -> unit +val load : ?sample:int -> string -> t +val tag_pool : t -> Tag.pool +val compare : t -> t -> int +val equal : t -> t -> bool +val mk_nil : t -> t +val root : t -> t +val is_root : t -> bool +val parent : t -> t +val first_child : t -> t +val next_sibling : t -> t +val next_sibling_ctx : t -> t -> t +val left : t -> t +val right : t -> t +val id : t -> int +val tag : t -> Tag.t +val text_below : t -> t +val text_next : t -> t -> t +val tagged_desc : Tag.t -> t -> t +val tagged_foll_ctx : Tag.t -> t -> t -> t +(* +val select_desc_only : Ptset.Int.t -> t -> t +val select_foll_only : Ptset.Int.t -> t -> t -> t +val select_below : Ptset.Int.t -> Ptset.Int.t -> t -> t +val select_next : Ptset.Int.t -> Ptset.Int.t -> t -> t -> t +*) +val count : t -> string -> int +val print_xml_fast : out_channel -> t -> unit +val node_child : t -> t +val node_sibling : t -> t +val node_sibling_ctx : t -> t -> t +val tags_below : t -> Tag.t -> Ptset.Int.t +val tags_after : t -> Tag.t -> Ptset.Int.t +val tags : t -> Tag.t -> Ptset.Int.t*Ptset.Int.t +val is_below_right : t -> t -> bool +val is_left : t -> bool +val tagged_lowest : t -> Tag.t -> t +val tagged_next : t -> Tag.t -> t +val binary_parent : t -> t +val benchmark_text : t -> string array +val count_contains : t -> string -> int +val unsorted_contains : t -> string -> unit +val text_size : t -> int +val doc_ids : t -> int*int +val subtree_tags : t -> Tag.t -> int +val get_text : t -> string