X-Git-Url: http://git.nguyen.vg/gitweb/?p=tatoo.git;a=blobdiff_plain;f=src%2Fquery_tree.ml;fp=src%2Fquery_tree.ml;h=9dcd0d51ae10e50d821956ebe23b28f369b35cf4;hp=69f17b3a1510778a115d271bacbf2863c3675ef0;hb=c7229e6e3c000938a74abeb52749f62a65c3bbfd;hpb=b1dd0048c707c1d459667946912346680e34dd02 diff --git a/src/query_tree.ml b/src/query_tree.ml index 69f17b3..9dcd0d5 100644 --- a/src/query_tree.ml +++ b/src/query_tree.ml @@ -1,7 +1,6 @@ open Table let compteur = ref 0 -let table_query_tree = Hashtbl.create 97 let table_qtree = QTreeHash.create 97 let all_nodes tree = let root = Naive_tree.root tree in @@ -110,28 +109,6 @@ let debug tree q l = Format.pp_print_flush Format.std_formatter (); end - - - -let rec compare_query_tree q1 q2 = - q1.id==q2.id|| match q1.desc,q2.desc with - | Binop(op1,qt1,qt2),Binop(op2,qt3,qt4)->op1==op2&& ((compare_query_tree qt1 qt3 && compare_query_tree qt2 qt4) - || (compare_query_tree qt1 qt4 && compare_query_tree qt2 qt3)) - | Axis(a1,qt1),Axis(a2,qt2) -> compare_axis a1 a2 && compare_query_tree qt1 qt2 - | Tag(t1,k1),Tag(t2,k2) ->t1==t2&& k1==k2 - | Dom,Dom | Start,Start ->true - | _,_ ->false - -and compare_axis a1 a2 = - match a1,a2 with - Self ,Self | Attribute, Attribute | Child , Child | Parent , Parent - | FollowingSibling , FollowingSibling - | PrecedingSibling , PrecedingSibling - | Preceding , Preceding | Following , Following -> true - | Descendant b1, Descendant b2 -> b1==b2 - | Ancestor b1, Ancestor b2 -> b1==b2 - | _,_ -> false - let mini_id = ref 0 let mini_table = QTreeHash.create 17