X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_transformations%2FboxPp.ml;h=fcc91342170aefeeacbf76f1799790588df8e451;hb=12cc5b2b8e7f7bb0b5e315094b008a293a4df6b1;hp=922d5c6a6f9416dd991e78e1124f323a50e4cc4c;hpb=ac0a12080b434bf0daafc08e9da240eb57f47280;p=helm.git diff --git a/helm/ocaml/cic_transformations/boxPp.ml b/helm/ocaml/cic_transformations/boxPp.ml index 922d5c6a6..fcc913421 100644 --- a/helm/ocaml/cic_transformations/boxPp.ml +++ b/helm/ocaml/cic_transformations/boxPp.ml @@ -1,3 +1,27 @@ +(* Copyright (C) 2004, 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://helm.cs.unibo.it/ + *) let to_string object_to_string b = let layout = ref [] in @@ -5,17 +29,27 @@ let to_string object_to_string b = function [] -> layout := current_s::!layout | Box.Text (_,s)::tl -> aux_h (current_s ^ s) tl - | (Box.Space _)::_ -> assert false + | (Box.Space _)::tl -> aux_h (current_s ^ " ") tl | Box.H (_,bl)::tl -> aux_h current_s (bl@tl) | Box.V (_,[])::tl -> aux_h current_s tl | Box.V (_,[b])::tl -> aux_h current_s (b::tl) | Box.V (_,b::bl')::tl -> aux_h current_s [b] ; aux_h (String.make (String.length current_s) ' ') (Box.V([],bl')::tl) + | Box.HV _ :: _ | Box.HOV _ :: _ -> assert false (* not implemented *) | Box.Object (_,obj)::tl -> aux_h (current_s ^ (object_to_string obj)) tl | (Box.Action _)::tl -> assert false + | (Box.Ink _)::tl -> aux_h (current_s ^ "----------") tl in aux_h "" [b] ; List.rev !layout -let pp_term t = String.concat "\n" (to_string CicAstPp.pp_term (Ast2pres.ast2box t)) +let pp_term ?ids_to_uris t = + let ids_to_uris = + match ids_to_uris with + | None -> Hashtbl.create 0 + | Some tbl -> tbl + in + String.concat "\n" (to_string CicAstPp.pp_term + (Ast2pres.ast2astBox (t, ids_to_uris))) +