let main () =
let oc = open_out Sys.argv.(1) in
+ let oc_doc = open_out Sys.argv.(2) in
output_string oc "(* GENERATED by make_table: DO NOT EDIT! *)\n";
+ output_string oc_doc "(* GENERATED by make_table: DO NOT EDIT! *)\n";
output_string oc "let macro2utf8 = Hashtbl.create 2000\n";
output_string oc "let utf82macro = Hashtbl.create 2000\n";
output_string oc "let data = [\n";
let macro2utf8 = parse_from_xml () in
Hashtbl.iter
(fun macro utf8 ->
- fprintf oc " \"%s\", \"%s\";\n" macro (String.escaped utf8))
+ fprintf oc " \"%s\", \"%s\";\n" macro (String.escaped utf8);
+ fprintf oc_doc "\\%s %s\n" macro utf8)
macro2utf8;
output_string oc " ];;\n";
output_string oc "let _ =\n";
output_string oc " Hashtbl.replace macro2utf8 macro utf8;\n";
output_string oc " Hashtbl.replace utf82macro utf8 macro)\n";
output_string oc " data;;\n";
- close_out oc
+ close_out oc;
+ close_out oc_doc
let _ = main ()