]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_transformations/applyTransformation.ml
Added all transformations for sequents.
[helm.git] / helm / ocaml / cic_transformations / applyTransformation.ml
diff --git a/helm/ocaml/cic_transformations/applyTransformation.ml b/helm/ocaml/cic_transformations/applyTransformation.ml
new file mode 100644 (file)
index 0000000..c70f46c
--- /dev/null
@@ -0,0 +1,77 @@
+(* Copyright (C) 2000-2002, HELM Team.
+ * 
+ * This file is part of HELM, an Hypertextual, Electronic
+ * Library of Mathematics, developed at the Computer Science
+ * Department, University of Bologna, Italy.
+ * 
+ * HELM is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * 
+ * HELM is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HELM; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA  02111-1307, USA.
+ * 
+ * For details, see the HELM World-Wide-Web page,
+ * http://cs.unibo.it/helm/.
+ *)
+
+(***************************************************************************)
+(*                                                                         *)
+(*                               PROJECT HELM                              *)
+(*                                                                         *)
+(*                   Andrea Asperti <asperti@cs.unibo.it>                  *)
+(*                                21/11/2003                               *)
+(*                                                                         *)
+(*                                                                         *)
+(***************************************************************************)
+
+let reload_stylesheets = ignore
+;;
+
+let mml_of_cic_sequent metasenv sequent =
+  let asequent,ids_to_terms,
+    ids_to_father_ids,ids_to_inner_sorts,ids_to_hypotheses =
+    Cic2acic.asequent_of_sequent metasenv sequent in
+  let content_sequent = Cic2content.map_sequent asequent in 
+  let pres_sequent = 
+    (Sequent2pres.sequent2pres ~ids_to_inner_sorts content_sequent) in
+  let xmlpres = Mpresentation.print_mpres pres_sequent in
+  Xml2Gdome.document_of_xml Misc.domImpl xmlpres,
+    (ids_to_terms,ids_to_father_ids,ids_to_hypotheses)
+;;
+
+let mml_of_cic_object ~explode_all uri acic 
+  ids_to_inner_sorts ids_to_inner_types =
+  match acic with
+    Cic.ACurrentProof (id,idbody,n,conjectures,bo,ty,params) ->
+      let time1 = Sys.time () in
+      let content = 
+        Cic2content.annobj2content 
+          ~ids_to_inner_sorts ~ids_to_inner_types acic in
+      (* ContentPp.print_obj content; *)
+      let pres = Content2pres.content2pres ~ids_to_inner_sorts content in
+      let time2 = Sys.time () in
+      (* prerr_endline ("Fine trasformazione:" ^ (string_of_float (time2 -. time1))); *)
+      let xmlpres = Mpresentation.print_mpres pres in
+      let time25 = Sys.time () in
+      (* alternative: printing to file 
+      prerr_endline ("FINE printing to stream:" ^ (string_of_float (time25 -. time2)));
+      Xml.pp xmlpres (Some "tmp");
+      let time3 = Sys.time () in
+      prerr_endline ("FINE valutazione e printing dello stream:" ^ (string_of_float (time3 -. time25))); 
+      end alternative *)
+      (try 
+         Xml2Gdome.document_of_xml Misc.domImpl xmlpres 
+       with (GdomeInit.DOMException (_,s)) as e ->
+              prerr_endline s; raise e)
+   | _ -> assert false
+;;
+