X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=components%2Fcontent_pres%2FobjPp.ml;h=68badf3242e3514b406c2deb76cf551bc5720061;hb=2f857bf7f4d1bb73d08d270af9d7ad36a365a3c4;hp=49936861f2b2f8bbd12c0ea19ac1b9cab068e630;hpb=06e2976ca4ef6bdfe14beba14ba538a2479c51a8;p=helm.git diff --git a/components/content_pres/objPp.ml b/components/content_pres/objPp.ml index 49936861f..68badf324 100644 --- a/components/content_pres/objPp.ml +++ b/components/content_pres/objPp.ml @@ -23,17 +23,37 @@ * http://helm.cs.unibo.it/ *) +let remove_closed_substs s = + Pcre.replace ~pat:"{...}" ~templ:"" s + +let term2pres n ids_to_inner_sorts annterm = + let ast, ids_to_uris = + TermAcicContent.ast_of_acic ids_to_inner_sorts annterm + in + let bobj = + CicNotationPres.box_of_mpres ( + CicNotationPres.render ids_to_uris (TermContentPres.pp_ast ast) + ) + in + let render = function _::x::_ -> x | _ -> assert false in + let mpres = CicNotationPres.mpres_of_box bobj in + let s = BoxPp.render_to_string render n mpres in + 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 match style with | 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 - BoxPp.render_to_string (function _::x::_ -> x | _ -> assert false) n (CicNotationPres.mpres_of_box bobj) + remove_closed_substs ("\n\n" ^ + BoxPp.render_to_string (function _::x::_ -> x | _ -> assert false) n (CicNotationPres.mpres_of_box bobj) + ) | GrafiteAst.Procedural -> - let term_pp = CicNotationPp.pp_term in - let lazy_term_pp = CicNotationPp.pp_term in - let obj_pp = CicNotationPp.pp_obj in + 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 - String.concat "" (List.map aux script) + let script = Acic2Procedural.acic2procedural + ~ids_to_inner_sorts ~ids_to_inner_types prefix aobj in + "\n\n" ^ String.concat "" (List.map aux script)