Supprimer des fonctions 'keep_elements' et 'keep_attributs'
authorHuibo SHI <shihuibo19@gmail.com>
Tue, 1 Apr 2014 15:45:14 +0000 (17:45 +0200)
committerHuibo SHI <shihuibo19@gmail.com>
Tue, 1 Apr 2014 15:45:14 +0000 (17:45 +0200)
Nettoyer les commentaires

src/query_tree.ml
src/table.ml
src/table_driver.ml
tests/single_test.sh [new file with mode: 0755]

index 5f3c113..1f58ba6 100644 (file)
@@ -237,6 +237,7 @@ let rec eval_qtree tree start q =
          end
        in
        let res = Tas.sort_of_list tree res in
          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
        QTreeHash.add table_qtree q res;
        compteur := !compteur + (List.length res);
        res
index 76a88ce..0dbad6a 100644 (file)
@@ -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
   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
 
 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
              
          | 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
            
          | 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
                       
          | 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
                            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
                              
          | 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
                                  
          | 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
                        
          | 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
                          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
                            
          | 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
                                  
          | 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
                         
          | 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
 
 
 
 
 
 
index 767cfdc..6ac6acb 100644 (file)
@@ -24,6 +24,7 @@ let main () =
       parse_xpath q) 
       !Table_options.queries
   in
       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
   let query_tree_list =
     List.map (fun query -> compile_xpath query) queries
   in
@@ -37,8 +38,10 @@ let main () =
     print_string "</xml_result>\n";
   ) mini_qtree_list ;
   
     print_string "</xml_result>\n";
   ) mini_qtree_list ;
   
+  let t2 = Unix.gettimeofday () in
+  let t = (t2 -. t1) *. 1000. in
   let _ = if !Table_options.count then 
   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
 
   in
   exit 0
 
diff --git a/tests/single_test.sh b/tests/single_test.sh
new file mode 100755 (executable)
index 0000000..d014d88
--- /dev/null
@@ -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
+
+