Add an abstract generic interface for trees (of which Naive is an
[tatoo.git] / src / test.ml
index 465e409..2dd1cae 100644 (file)
 (*                                                                     *)
 (***********************************************************************)
 
+(*
+  Time-stamp: <Last modified on 2013-03-04 16:38:27 CET by Kim Nguyen>
+*)
 
 (** use: xml_file "XPath querie"
     or : xml_file -f XPath_querie_file
     only the first line of XPath_querie_file is read 
 *)
 
-module F = Formula
+module F = Auto.Formula
+module A = Auto.Ata
+module X = Xpath.Compile
+
 (* to force ocaml build to add Formula to the dependency chain even if
    we don't use it yet*)
 
 let doc =
   let fd = open_in Sys.argv.(1) in
-  let d = Tree.load_xml_file fd in
+  let d = Tree.Naive.load_xml_file fd in
   close_in fd; d
 
 
-
-let query = 
+let query =
   let arg2 = Sys.argv.(2) in
-  if arg2 = "-f"
-  then  let fq = open_in Sys.argv.(3) in
-       let q = XPath.parse_file fq in
-       close_in fq; q
-  else XPath.parse_string arg2
+  Xpath.Parser.parse (Ulexing.from_latin1_string arg2)
+
+let auto =
+  Xpath.Compile.path query
 
 open Format
 
 let () =
-  fprintf err_formatter "Query: %a\n%!" XPath.Ast.print query;
+  fprintf err_formatter "Query: %a\n%!" Xpath.Ast.print_path query;
+  fprintf err_formatter "Automata: %a\n%!" Auto.Ata.print auto;
   fprintf err_formatter "Document:\n%!";
-  Tree.print_xml stderr doc (Tree.root doc);
+  Tree.Naive.print_xml stderr doc (Tree.Naive.root doc);
   exit 0