X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_kernel%2FnCicPp.ml;h=1a793b92fde5db51b370c46eac38a5343f188058;hb=3ca651e49d422d9f9a2b793841ae526baf02065c;hp=f608acc15109f913c4f92a428a8d0cc5452887e9;hpb=63b86fce8a75490b957e7301517b9006f58321b6;p=helm.git diff --git a/helm/software/components/ng_kernel/nCicPp.ml b/helm/software/components/ng_kernel/nCicPp.ml index f608acc15..1a793b92f 100644 --- a/helm/software/components/ng_kernel/nCicPp.ml +++ b/helm/software/components/ng_kernel/nCicPp.ml @@ -180,11 +180,14 @@ let ppterm ~formatter:f ~context ~subst ~metasenv:_ ?(inside_fix=false) t = ;; let on_buffer f t = + try let buff = Buffer.create 100 in let formatter = F.formatter_of_buffer buff in f ~formatter:formatter t; F.fprintf formatter "@?"; Buffer.contents buff + with Failure m -> + "[[Unprintable: " ^ m ^ "]]" ;; let ppterm ~formatter ~context ~subst ~metasenv ?(margin=80) ?inside_fix t = @@ -192,20 +195,25 @@ let ppterm ~formatter ~context ~subst ~metasenv ?(margin=80) ?inside_fix t = ppterm ~formatter ~context ~subst ~metasenv ?inside_fix t ;; -let rec ppcontext ~formatter ?(sep="\n") ~subst ~metasenv = function +let rec ppcontext ~formatter ?(sep="; ") ~subst ~metasenv = function | [] -> () | (name, NCic.Decl t) :: tl -> ppcontext ~formatter ~sep ~subst ~metasenv tl; F.fprintf formatter "%s: " name; ppterm ~formatter ~subst ~metasenv ~context:tl t; - F.fprintf formatter "%s" sep + F.fprintf formatter "%s@;" sep | (name, NCic.Def (bo,ty)) :: tl-> ppcontext ~formatter ~sep ~subst ~metasenv tl; F.fprintf formatter "%s: " name; ppterm ~formatter ~subst ~metasenv ~context:tl ty; F.fprintf formatter " := "; ppterm ~formatter ~subst ~metasenv ~context:tl bo; - F.fprintf formatter "%s" sep + F.fprintf formatter "%s@;" sep +;; +let ppcontext ~formatter ?sep ~subst ~metasenv c = + F.fprintf formatter "@["; + ppcontext ~formatter ?sep ~subst ~metasenv c; + F.fprintf formatter "@]"; ;; let ppmetaattrs = @@ -216,7 +224,9 @@ let ppmetaattrs = String.concat "," (List.map (function - `IsSort -> "sort" + | `IsTerm -> "term" + | `IsType -> "type" + | `IsSort -> "sort" | `Name n -> "name=" ^ n | `InScope -> "in_scope" | `OutScope n -> "out_scope:" ^ string_of_int n @@ -251,8 +261,9 @@ let rec ppsubst ~formatter ~subst ~metasenv = function ppsubst ~formatter ~subst ~metasenv tl ;; -let ppsubst ~formatter ~metasenv subst = - ppsubst ~formatter ~metasenv ~subst subst +let ppsubst ~formatter ~metasenv ?(use_subst=true) subst = + let ssubst = if use_subst then subst else [] in + ppsubst ~formatter ~metasenv ~subst:ssubst subst ;; let string_of_generated = function @@ -345,7 +356,9 @@ let ppcontext ?sep ~subst ~metasenv ctx = let ppmetasenv ~subst metasenv = on_buffer (ppmetasenv ~subst) metasenv;; -let ppsubst ~metasenv subst = on_buffer (ppsubst ~metasenv) subst;; +let ppsubst ~metasenv ?use_subst subst = + on_buffer (ppsubst ~metasenv ?use_subst) subst +;; let ppobj obj = on_buffer ppobj obj;;