]> matita.cs.unibo.it Git - helm.git/blobdiff - matitaB/components/syntax_extensions/make_table.ml
1) Matitaweb now disambiguates scripts as it runs them
[helm.git] / matitaB / components / syntax_extensions / make_table.ml
index 59204c6e47c0aaca4837193c4f2dfc1d8e05e8d4..0e9a9ac12168c8cf571ed77bf84c9803f7d196ae 100644 (file)
@@ -82,16 +82,26 @@ let parse_from_xml () =
 let main () =
   let oc = open_out Sys.argv.(1) in
   let oc_doc = open_out Sys.argv.(2) in
+  let oc_js = open_out Sys.argv.(3) 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_js "/* 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";
+  output_string oc_js "var macro2utf8 = new Object();\n";
+  output_string oc_js "var utf82macro = new Object();\n";
   let macro2utf8 = parse_from_xml () in
   Hashtbl.iter
     (fun macro utf8 ->
+            let hescape s = 
+               String.escaped (Netencoding.Html.encode ~in_enc:`Enc_utf8 () s) in
             fprintf oc "  \"%s\", \"%s\";\n" macro (String.escaped utf8);
-            fprintf oc_doc "\\%s %s\n" macro utf8)
+            fprintf oc_doc "\\%s %s\n" macro utf8;
+            fprintf oc_js "macro2utf8[\"%s\"] = \"%s\";\n" 
+              macro (hescape utf8); 
+            fprintf oc_js "utf82macro[\"%s\"] = \"%s\";\n" 
+              (hescape utf8) macro)
     macro2utf8;
   output_string oc "  ];;\n";
   output_string oc "let _ =\n";