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;
- fprintf err_formatter "Parse query OK ! ";
- q
+ let q = XPath.parse_file fq in
+ close_in fq;
+ fprintf err_formatter "Parse query OK ! ";
+ q
else let q = XPath.parse_string arg2 in
fprintf err_formatter "Parse query OK ! ";
q
let build_asta query =
let asta = Compil.trans query in
- fprintf err_formatter "Compil OK !\n";
+ fprintf err_formatter "Compil OK ! ";
asta
+let compute_run doc query =
+ let run = Run.compute doc query in
+ fprintf err_formatter "Run OK ! \n";
+ run
+
let () =
- let query = query () in
let doc = doc () in
+ let query = query () in
let asta = build_asta query in
- fprintf err_formatter "@[<v 0> ##### Query #####@. %a@]@ "
+ let run = compute_run doc asta in
+ fprintf err_formatter "@[<v 0>##### Query #####@. %a@]\n"
XPath.Ast.print query;
+ output_string stderr "\n##### Doc #####\n";
+ Tree.print_xml stderr doc (Tree.root doc);
+ output_string stderr "\n";
Asta.print err_formatter asta;
- fprintf err_formatter "@[<v 0> ##### Doc #####@.%a@]@ "
- Tree.print_xml doc (Tree.root doc);
+ Run.print err_formatter run;
+ output_string stderr "\n # Doc: \n";
+ Tree.print_xml_preorder stderr doc (Tree.root doc);
+ output_string stderr "\n";
exit 0
-