(* 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 *) (* 27/6/2003 *) (* *) (**************************************************************************) type cexpr = Symbol of string option * string * (subst option) * string option (* h:xref, name, subst, definitionURL *) | LocalVar of string option * string (* h:xref, name *) | Meta of string option * string * meta_subst (* h:xref, name, meta_subst *) | Num of string option * string (* h:xref, value *) | Appl of string option * cexpr list (* h:xref, args *) | Binder of string option *string * decl * cexpr (* h:xref, name, decl, body *) | Letin of string option * def * cexpr (* h:xref, def, body *) | Letrec of string option * def list * cexpr (* h:xref, def list, body *) | Case of string option * cexpr * ((string * cexpr) list) (* h:xref, case_expr, named-pattern list *) and decl = string * cexpr (* name, type *) and def = string * cexpr (* name, body *) and subst = (UriManager.uri * cexpr) list and meta_subst = cexpr option list ;; val acic2cexpr : (Cic.id, string) Hashtbl.t -> Cic.annterm -> cexpr