X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_transformations%2Fmpresentation.ml;fp=helm%2Focaml%2Fcic_transformations%2Fmpresentation.ml;h=0000000000000000000000000000000000000000;hb=1696761e4b8576e8ed81caa905fd108717019226;hp=3c4f929024b080b311b2abd36898768e3946ec58;hpb=5325734bc2e4927ed7ec146e35a6f0f2b49f50c1;p=helm.git diff --git a/helm/ocaml/cic_transformations/mpresentation.ml b/helm/ocaml/cic_transformations/mpresentation.ml deleted file mode 100644 index 3c4f92902..000000000 --- a/helm/ocaml/cic_transformations/mpresentation.ml +++ /dev/null @@ -1,223 +0,0 @@ -(* Copyright (C) 2000, 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 *) -(* 16/62003 *) -(* *) -(**************************************************************************) - -type - mpres = - (* token elements *) - Mi of attr * string - | Mn of attr * string - | Mo of attr * string - | Mtext of attr * string - | Mspace of attr - | Ms of attr * string - | Mgliph of attr * string - (* General Layout Schemata *) - | Mrow of attr * mpres list - | Mfrac of attr * mpres * mpres - | Msqrt of attr * mpres - | Mroot of attr * mpres * mpres - | Mstyle of attr * mpres - | Merror of attr * mpres - | Mpadded of attr * mpres - | Mphantom of attr * mpres - | Mfenced of attr * mpres list - | Menclose of attr * mpres - (* Script and Limit Schemata *) - | Msub of attr * mpres * mpres - | Msup of attr * mpres * mpres - | Msubsup of attr * mpres * mpres *mpres - | Munder of attr * mpres * mpres - | Mover of attr * mpres * mpres - | Munderover of attr * mpres * mpres *mpres -(* | Multiscripts of ??? NOT IMPLEMEMENTED *) - (* Tables and Matrices *) - | Mtable of attr * row list - (* Enlivening Expressions *) - | Maction of attr * mpres list - -and row = Mtr of attr * mtd list - -and mtd = Mtd of attr * mpres - -and attr = (string option * string * string) list -;; - -let smallskip = Mspace([None,"width","0.1cm"]);; -let indentation = Mspace([None,"width","0.3cm"]);; - -let indented elem = - Mrow([],[indentation;elem]);; - -let standard_tbl_attr = - [None,"align","baseline 1";None,"equalrows","false";None,"columnalign","left"] -;; - -let two_rows_table attr a b = - Mtable(attr@standard_tbl_attr, - [Mtr([],[Mtd([],a)]); - Mtr([],[Mtd([],b)])]);; - -let two_rows_table_with_brackets attr a b op = - (* only the open bracket is added; the closed bracket must be in b *) - Mtable(attr@standard_tbl_attr, - [Mtr([],[Mtd([],Mrow([],[Mtext([],"(");a]))]); - Mtr([],[Mtd([],Mrow([],[indentation;op;b]))])]);; - -let two_rows_table_without_brackets attr a b op = - Mtable(attr@standard_tbl_attr, - [Mtr([],[Mtd([],a)]); - Mtr([],[Mtd([],Mrow([],[indentation;op;b]))])]);; - -let row_with_brackets attr a b op = - (* by analogy with two_rows_table_with_brackets we only add the - open brackets *) - Mrow(attr,[Mtext([],"(");a;op;b]) - -let row_without_brackets attr a b op = - Mrow(attr,[a;op;b]) - -(* MathML prefix *) -let prefix = "m";; - -let rec print_mpres = - let module X = Xml in - function - Mi (attr,s) -> X.xml_nempty ~prefix "mi" attr (X.xml_cdata s) - | Mn (attr,s) -> X.xml_nempty ~prefix "mn" attr (X.xml_cdata s) - | Mo (attr,s) -> X.xml_nempty ~prefix "mo" attr (X.xml_cdata s) - | Mtext (attr,s) -> X.xml_nempty ~prefix "mtext" attr (X.xml_cdata s) - | Mspace attr -> X.xml_empty ~prefix "mspace" attr - | Ms (attr,s) -> X.xml_nempty ~prefix "ms" attr (X.xml_cdata s) - | Mgliph (attr,s) -> X.xml_nempty ~prefix "mgliph" attr (X.xml_cdata s) - (* General Layout Schemata *) - | Mrow (attr,l) -> - X.xml_nempty ~prefix "mrow" attr - [< (List.fold_right (fun x i -> [< (print_mpres x) ; i >]) l [<>]) - >] - | Mfrac (attr,m1,m2) -> - X.xml_nempty ~prefix "mfrac" attr - [< print_mpres m1; - print_mpres m2 - >] - | Msqrt (attr,m) -> - X.xml_nempty ~prefix "msqrt" attr [< print_mpres m >] - | Mroot (attr,m1,m2) -> - X.xml_nempty ~prefix "mroot" attr - [< print_mpres m1; - print_mpres m2 - >] - | Mstyle (attr,m) -> - X.xml_nempty ~prefix "mstyle" attr [< print_mpres m >] - | Merror (attr,m) -> - X.xml_nempty ~prefix "merror" attr [< print_mpres m >] - | Mpadded (attr,m) -> - X.xml_nempty ~prefix "mpadded" attr [< print_mpres m >] - | Mphantom (attr,m) -> - X.xml_nempty ~prefix "mphantom" attr [< print_mpres m >] - | Mfenced (attr,l) -> - X.xml_nempty ~prefix "mfenced" attr - [< (List.fold_right (fun x i -> [< (print_mpres x) ; i >]) l [<>]) - >] - | Menclose (attr,m) -> - X.xml_nempty ~prefix "menclose" attr [< print_mpres m >] - (* Script and Limit Schemata *) - | Msub (attr,m1,m2) -> - X.xml_nempty ~prefix "msub" attr - [< print_mpres m1; - print_mpres m2 - >] - | Msup (attr,m1,m2) -> - X.xml_nempty ~prefix "msup" attr - [< print_mpres m1; - print_mpres m2 - >] - | Msubsup (attr,m1,m2,m3) -> - X.xml_nempty ~prefix "msubsup" attr - [< print_mpres m1; - print_mpres m2; - print_mpres m3 - >] - | Munder (attr,m1,m2) -> - X.xml_nempty ~prefix "munder" attr - [< print_mpres m1; - print_mpres m2 - >] - | Mover (attr,m1,m2) -> - X.xml_nempty ~prefix "mover" attr - [< print_mpres m1; - print_mpres m2 - >] - | Munderover (attr,m1,m2,m3) -> - X.xml_nempty ~prefix "munderover" attr - [< print_mpres m1; - print_mpres m2; - print_mpres m3 - >] -(* | Multiscripts of ??? NOT IMPLEMEMENTED *) - (* Tables and Matrices *) - | Mtable (attr, rl) -> - X.xml_nempty ~prefix "mtable" attr - [< (List.fold_right (fun x i -> [< (print_mrow x) ; i >]) rl [<>]) - >] - (* Enlivening Expressions *) - | Maction (attr, l) -> - X.xml_nempty ~prefix "maction" attr - [< (List.fold_right (fun x i -> [< (print_mpres x) ; i >]) l [<>]) - >] - -and print_mrow = - let module X = Xml in - function - Mtr (attr, l) -> - X.xml_nempty ~prefix "mtr" attr - [< (List.fold_right (fun x i -> [< (print_mtd x) ; i >]) l [<>]) - >] - -and print_mtd = - let module X = Xml in - function - Mtd (attr,m) -> X.xml_nempty ~prefix "mtd" attr [< (print_mpres m) ; X.xml_nempty ~prefix "mphantom" [] (X.xml_nempty ~prefix "mtext" [] (X.xml_cdata "(")) >] -;; - -let print_mpres pres = - [< Xml.xml_cdata "\n" ; - Xml.xml_cdata "\n"; - Xml.xml_nempty ~prefix "math" - [Some "xmlns","m","http://www.w3.org/1998/Math/MathML" ; - Some "xmlns","helm","http://www.cs.unibo.it/helm" ; - Some "xmlns","xlink","http://www.w3.org/1999/xlink" - ] (Xml.xml_nempty ~prefix "mstyle" [None, "mathvariant", "normal"; None, "rowspacing", "0.6ex"] (print_mpres pres)) - >] - -