The data is of type
annotated translationUnit_type = annotated * annotated topForm_type list
You can test it with the following piece of code:
open Cc_ast_gen_type
open Ast_annotation
let file = "/home/tews/src/elsa/elsa/in/big/nsUnicodeToTeXCMRt1.i.oast"
;;
try
SafeUnmarshal.from_channel
[^ annotated translationUnit_type ^]
(open_in file);
print_endline "OK"
with
| _ -> print_endline "FAIL"
compile with
ocamlopt.opt safeUnmarshal.cmxa ast_annotation.ml elsa_util.ml \
ml_ctype.ml cc_ml_types.ml cc_ast_gen_type.ml justunmarshal.ml
The additional files are from Olmar, get them here:
http://www.sos.cs.ru.nl/cgi-bin/~tews/olmar/viewvc-patch.cgi/elsa/elsa/ast_annotation.ml?revision=olmar-release-2006-09-07
http://www.sos.cs.ru.nl/cgi-bin/~tews/olmar/viewvc-patch.cgi/elsa/elsa/elsa_util.ml?revision=olmar-release-2006-09-07
http://www.sos.cs.ru.nl/cgi-bin/~tews/olmar/viewvc-patch.cgi/elsa/elsa/ml_ctype.ml?revision=olmar-release-2006-09-07
http://www.sos.cs.ru.nl/cgi-bin/~tews/olmar/viewvc-patch.cgi/elsa/elsa/cc_ml_types.ml?revision=olmar-release-2006-09-07
http://www.sos.cs.ru.nl/cgi-bin/~tews/olmar/viewvc-patch.cgi/elsa/elsa/cc_ast_gen_type.ml?revision=olmar-release-2006-09-07
To produce graphs like http://www.cs.ru.nl/~tews/marshal-plot.eps
you need to download Olmar, compile it and then
- ./regrtest -ocaml in subdir elsa
- ./regtest-oast | grep time >data in subdir asttools
- gnuplot plot
where the plot file is something like
reset
set grid
unset mouse
set terminal x11 persist
#set terminal postscript enhanced color
set xlabel "size (Bytes)"
set ylabel "time (s)"
set key left
z = 2.1
plot "data" using 6:3 title "SafeUnmarshal user time", \
(0.000017088 * x) ** 2.1
Bye,
Hendrik
_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs