removed cruft, fixed ptset.ml
[SXSI/xpathcomp.git] / tree.mli
index 79321c2..d8a49c9 100644 (file)
--- a/tree.mli
+++ b/tree.mli
@@ -1,76 +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 root : t -> t
-  val is_root : t -> bool
-  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 -> DocIdSet.t
-  val contains_iter : t -> string -> DocIdSet.t
-  val count_contains : t -> string -> int
-  val count : t -> string -> int
-  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_below : t -> Ptset.t -> Ptset.t -> t
-  val tagged_next : t -> Ptset.t -> Ptset.t -> t -> t
-  val tagged_desc_only : t -> Ptset.t -> t
-  val tagged_foll_only : t -> Ptset.t -> t -> t
-  val text_below : t -> t
-  val text_next : t -> t -> t
-  val init_tagged_next : t -> Tag.t -> unit
-  val subtree_tags : t -> Tag.t -> int
-  val is_left : t -> bool
-  val print_id : Format.formatter -> t -> unit 
-  val test_xml_tree : Format.formatter -> Ptset.t -> t -> unit
-  val init_contains : t -> string -> unit
-  val init_naive_contains : t -> string -> unit
-  val mk_nil : t -> t
-  val test_jump : t -> Tag.t -> unit
-  val time_xml_tree : t -> Tag.t -> int list
-  val time_xml_tree2 : t -> Tag.t -> int list
-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