From: Huibo SHI Date: Tue, 1 Apr 2014 15:45:14 +0000 (+0200) Subject: Supprimer des fonctions 'keep_elements' et 'keep_attributs' X-Git-Url: http://git.nguyen.vg/gitweb/?p=tatoo.git;a=commitdiff_plain;h=c31dce9d175ad3b9fca57706d6e1f45cd1669d6c Supprimer des fonctions 'keep_elements' et 'keep_attributs' Nettoyer les commentaires --- diff --git a/src/query_tree.ml b/src/query_tree.ml index 5f3c113..1f58ba6 100644 --- a/src/query_tree.ml +++ b/src/query_tree.ml @@ -237,6 +237,7 @@ let rec eval_qtree tree start q = end in let res = Tas.sort_of_list tree res in +(* let res = List.sort (Table.compare_node tree) res in*) QTreeHash.add table_qtree q res; compteur := !compteur + (List.length res); res diff --git a/src/table.ml b/src/table.ml index 76a88ce..0dbad6a 100644 --- a/src/table.ml +++ b/src/table.ml @@ -212,22 +212,9 @@ and eval_star tree ls lr = done; let l = Hashtbl.fold (fun k _ acc -> k::acc) h [] in Tas.sort_of_list tree l - -(*28/01/2014 - parametres : tree l'arbre xml - ls l'ensemble de noeuds - a axis - retour : l'ensemble de noeuds qui correspondent ॆ l'axe -*) +(* List.sort (compare_node tree) l *) -let keep_elements t l = (* - List.filter (fun n -> match Naive_tree.kind t n with - | Element | Text | Document | Attribute -> true | _ -> false) l - *) l -let keep_attributs t l = (* - List.filter (fun n -> match Naive_tree.kind t n with - | Attribute ->true | _ -> false) *) l let rec eval_axis tree ls a = let open Xpath.Ast in @@ -236,11 +223,11 @@ let rec eval_axis tree ls a = | Attribute -> let lfc = eval_move tree ls Firstchild in let lc = eval_star tree lfc [Nextsibling] in - keep_attributs tree lc + lc | Child -> let lfc = eval_move tree ls Firstchild in let lc = eval_star tree lfc [Nextsibling] in - keep_elements tree lc + lc | Descendant c -> let lfc = eval_move tree ls Firstchild in let ls2 = eval_star tree lfc [Firstchild;Nextsibling] in @@ -248,15 +235,15 @@ let rec eval_axis tree ls a = if not c then ls2 else List.merge (compare_node tree) ls2 ls in - keep_elements tree ldes + ldes | FollowingSibling -> let lnexts = eval_move tree ls Nextsibling in let lfs = eval_star tree lnexts [Nextsibling] in - keep_elements tree lfs + lfs | Parent -> let lprevs = eval_star tree ls [Prevsibling] in let lp = eval_move tree lprevs Revfirstchild in - keep_elements tree lp + lp | Ancestor b -> let ls2 = eval_star tree ls [Revfirstchild;Prevsibling] in let ls3 = eval_move tree ls2 Revfirstchild in @@ -264,21 +251,21 @@ let rec eval_axis tree ls a = if not b then ls3 else List.merge (compare_node tree ) ls3 ls in - keep_elements tree lac + lac | PrecedingSibling -> let ls2 = eval_star tree ls [Prevsibling] in let lps = eval_move tree ls2 Prevsibling in - keep_elements tree lps + lps | Preceding -> let ls2 = eval_axis tree ls (Ancestor true) in let ls3 = eval_axis tree ls2 PrecedingSibling in let lp = eval_axis tree ls3 (Descendant true) in - keep_elements tree lp + lp | Following -> let ls2 = eval_axis tree ls (Ancestor true) in let ls3 = eval_axis tree ls2 FollowingSibling in let lf = eval_axis tree ls3 (Descendant true) in - keep_elements tree lf + lf diff --git a/src/table_driver.ml b/src/table_driver.ml index 767cfdc..6ac6acb 100644 --- a/src/table_driver.ml +++ b/src/table_driver.ml @@ -24,6 +24,7 @@ let main () = parse_xpath q) !Table_options.queries in + let t1 = Unix.gettimeofday () in let query_tree_list = List.map (fun query -> compile_xpath query) queries in @@ -37,8 +38,10 @@ let main () = print_string "\n"; ) mini_qtree_list ; + let t2 = Unix.gettimeofday () in + let t = (t2 -. t1) *. 1000. in let _ = if !Table_options.count then - Format.fprintf Format.std_formatter "there are %i nodes\n" !Query_tree.compteur; + Format.fprintf Format.std_formatter "there are %i nodes\nit takes %fms\n" !Query_tree.compteur t; in exit 0 diff --git a/tests/single_test.sh b/tests/single_test.sh new file mode 100755 index 0000000..d014d88 --- /dev/null +++ b/tests/single_test.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +INPUT=tests/xmark_0.00.xml +QUERIES="$INPUT".queries + + + + +cat "$QUERIES" | while read N Q; +do + echo Query "$N : $Q" + src/table_driver.native -c -d "$INPUT" "$Q" > /tmp/huibo.xml + + +done + +