1) Utiliser bitvector pour preserver l'ordre pendant l'evaluation
[tatoo.git] / src / query_tree.mli
index 6a8678f..7335e52 100644 (file)
@@ -1,12 +1,7 @@
 val compteur : int ref
 (**the counter of nodes*)
 
-val all_nodes : Naive_tree.t -> Naive_tree.node list
-(** [all_nodes t] returns all the nodes in the tree [t].
-    Returns an empty list if there are no nodes in the tree.
- *)
-
-val element_by_tag : Naive_tree.t -> QNameSet.t -> Tree.NodeKind.t -> Naive_tree.node list
+val element_by_tag : Naive_tree.t -> QNameSet.t -> Tree.NodeKind.t -> Bitvector.t
 (** [element_by_tag t tag] returns all the nodes whose tag equal to [tag] in the tree [t]. *)
 
 val compile_single_path : Xpath.Ast.single_path -> Table.query_tree 
@@ -23,7 +18,7 @@ val minimize_qtree : Table.query_tree -> Table.query_tree
     [q] query_tree
 *)
 
-val eval_qtree : Naive_tree.t -> Naive_tree.node list ->Table.query_tree -> Naive_tree.node list
+val eval_qtree : Naive_tree.t -> Bitvector.t ->Table.query_tree -> Bitvector.t
 (** [eval_qtree tree start q] returns the set of nodes that evaluate by the query_tree [q].
     [start] the set of nodes departing.
     [q] query_tree