Remove trailing white spaces
[SXSI/xpathcomp.git] / ata.mli
diff --git a/ata.mli b/ata.mli
index 3152112..3af6907 100644 (file)
--- a/ata.mli
+++ b/ata.mli
@@ -4,7 +4,7 @@ sig
   include Sigs.T with type t = int
   val make : unit -> t 
 end
-
+type merge_conf = NO | ONLY1 | ONLY2 | ONLY12 | MARK | MARK1 | MARK2 | MARK12
 module StateSet :
   sig
     include Ptset.S with type elt = int
@@ -22,7 +22,7 @@ module Formula :
 
     type t
     val hash : t -> int
-    val uid : t -> int
+    val uid : t -> Uid.t
     val equal : t -> t -> bool
     val expr : t -> t expr
     val st :
@@ -52,13 +52,13 @@ module Formula :
   end
 module Transition :
   sig
-    type node = State.t * bool * Formula.t * bool
+    type node = State.t * TagSet.t * bool * Formula.t * bool
     type data = node
     type t
     val make : data -> t
     val node : t -> data
     val hash : t -> int
-    val uid : t -> int
+    val uid : t -> Uid.t
     val equal : t -> t -> bool
     module Infix : sig
     val ( ?< ) : State.t -> State.t
@@ -84,18 +84,35 @@ val dump : Format.formatter -> 'a t -> unit
 module type ResultSet =
   sig
     type t
+    type elt = [`Tree] Tree.node
     val empty : t
-    val cons : Tree.t -> t -> t
+    val cons : elt -> t -> t
     val concat : t -> t -> t
-    val iter : (Tree.t -> unit) -> t -> unit
-    val fold : (Tree.t -> 'a -> 'a) -> t -> 'a -> 'a
-    val map : (Tree.t -> Tree.t) -> t -> t
+    val iter : (elt -> unit) -> t -> unit
+    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
+    val map : (elt -> elt) -> t -> t
     val length : t -> int
+    val merge : merge_conf -> elt -> t -> t -> t 
+    val mk_quick_tag_loop : (elt -> elt -> 'a*t array) -> 'a -> int -> Tree.t -> Tag.t -> (elt -> elt -> 'a*t array)
+    val mk_quick_star_loop : (elt -> elt -> 'a*t array) -> 'a -> int -> Tree.t -> (elt -> elt -> 'a*t array)
   end
 
 module IdSet : ResultSet
+module GResult (Doc : sig val doc : Tree.t end) : ResultSet 
 
 val top_down_count : 'a t -> Tree.t -> int
+val top_down_count1 : 'a t -> Tree.t -> int
 val top_down : 'a t -> Tree.t -> IdSet.t
+val top_down1 : 'a t -> Tree.t -> IdSet.t
+
 val bottom_up_count :
   'a t -> Tree.t -> [> `CONTAINS of 'b | `TAG of Tag.t ] -> int
+val bottom_up :
+  'a t -> Tree.t -> [> `CONTAINS of 'b | `TAG of Tag.t ] -> IdSet.t
+
+module Test (Doc : sig val doc : Tree.t end ) :
+sig
+  module Results : ResultSet
+  val top_down : 'a t -> Tree.t -> Results.t
+  val top_down1 : 'a t -> Tree.t -> Results.t
+end