]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/content_pres/objPp.ml
Added option datatype. Required (for technicalities/Setoids.ma).
[helm.git] / helm / software / components / content_pres / objPp.ml
index aa2e3a6b8f7090955915816164cf60a787dfb1b2..f83b18635e6198fd33f4bdb237ed2a3c76f0bfd7 100644 (file)
@@ -32,7 +32,8 @@ let term2pres n ids_to_inner_sorts annterm =
    in
    let bobj =
       CicNotationPres.box_of_mpres (
-         CicNotationPres.render ids_to_uris (TermContentPres.pp_ast ast)
+         CicNotationPres.render ~prec:90 ids_to_uris 
+           (TermContentPres.pp_ast ast)
       )
    in
    let render = function _::x::_ -> x | _ -> assert false in
@@ -41,18 +42,24 @@ let term2pres n ids_to_inner_sorts annterm =
    remove_closed_substs s
 
 let obj_to_string n style prefix obj =
-  let aobj,_,_,ids_to_inner_sorts,ids_to_inner_types,_,_ = Cic2acic.acic_object_of_cic_object obj in
-  let cobj = Acic2content.annobj2content ids_to_inner_sorts ids_to_inner_types aobj in
+  let aobj,_,_,ids_to_inner_sorts,ids_to_inner_types,_,_ = 
+     try Cic2acic.acic_object_of_cic_object obj
+     with e -> 
+        let msg = "Cic2ACic: " ^ Printexc.to_string e in
+       failwith msg
+  in
   match style with
-     | GrafiteAst.Declarative ->
+     | GrafiteAst.Declarative      ->
+        let cobj = Acic2content.annobj2content ids_to_inner_sorts ids_to_inner_types aobj in
         let bobj = Content2pres.content2pres ids_to_inner_sorts cobj in
         remove_closed_substs ("\n\n" ^
           BoxPp.render_to_string (function _::x::_ -> x | _ -> assert false) n (CicNotationPres.mpres_of_box bobj)
        )
-     | GrafiteAst.Procedural ->
+     | GrafiteAst.Procedural depth ->
         let term_pp = term2pres (n - 8) ids_to_inner_sorts in
         let lazy_term_pp = term_pp in
         let obj_pp = CicNotationPp.pp_obj term_pp in
         let aux = GrafiteAstPp.pp_statement ~term_pp ~lazy_term_pp ~obj_pp in
-        let script = Content2Procedural.content2procedural ~ids_to_inner_sorts prefix cobj in
+        let script = Acic2Procedural.acic2procedural 
+          ~ids_to_inner_sorts ~ids_to_inner_types ?depth prefix aobj in
        "\n\n" ^ String.concat "" (List.map aux script)