merge from local branch
[SXSI/xpathcomp.git] / HACKING
1 Compilation instruction:
2
3 compile the TextCollection :
4
5 cd XMLTree/TextCollection
6 make
7
8 compile libcds :
9
10 cd XMLTree/libcds
11 make
12
13 compile XMLTree :
14 cd XMLTree
15 make
16
17 compile xpathcomp/
18 make
19
20
21 Building xpathcomp requires:
22
23 libxml2.6++-dev 
24 ocaml-findlib
25 ocaml-ulex
26 ocaml-nox
27 camlp4
28
29 and their dependencies
30
31
32 you can compile with make DEBUG=true to get more statistics the overall programm is slower
33 but you get precise timing for each individual function calls to the XMLTree interface.
34
35
36 Usage :
37 ./main 'file.xml' 'query' [output]
38
39 file.xml is the input file. There are some in the tests subdirectory. At the moment you can mainly test
40 with base.xml and tiny.xml. Any file bigger than this will take too much time to load.
41 If the file ends with the .srx extensions then it is considered to be a serialized output saved to disk
42 with the -s flag (see bellow).
43
44
45 output is optional. If specified, it is the name of a file to which the result of the query is serialized.
46 If output is not given, the the result of the query is kept as a set of identifier and no access to
47 the string collection is made.
48
49
50
51
52 There are a few flags:
53
54 ./main <input.{xml|srx}> 'query' [output]
55
56   -c counting only (don't materialize the result set)
57   -max-tc set maximum count for which the TextCollection is used
58   -f sample factor [default=64]
59   -s save the intermediate representation into file.srx
60   -b real bottom up run
61   -help  Display this list of options
62   --help  Display this list of options