1 (* Copyright (C) 2004-2005, HELM Team.
3 * This file is part of HELM, an Hypertextual, Electronic
4 * Library of Mathematics, developed at the Computer Science
5 * Department, University of Bologna, Italy.
7 * HELM is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
12 * HELM is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with HELM; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
22 * For details, see the HELM World-Wide-Web page,
23 * http://helm.cs.unibo.it/
27 ?do_heavy_checks:bool ->
28 LexiconEngine.status ->
29 GrafiteTypes.status ->
31 ((CicNotationPt.term, CicNotationPt.term,
32 CicNotationPt.term GrafiteAst.reduction, CicNotationPt.term CicNotationPt.obj, string)
33 GrafiteAst.statement) ->
34 ((GrafiteTypes.status * LexiconEngine.status) *
35 (DisambiguateTypes.domain_item *
36 Cic.term DisambiguateTypes.codomain_item) option
40 (* heavy checks slow down the compilation process but give you some interesting
41 * infos like if the theorem is a duplicate *)
43 exception EnrichedWithLexiconStatus of exn * LexiconEngine.status
45 (* should be used only by the compiler since it looses the
46 * disambiguation_context (text,prefix_len,_) *)
47 val eval_from_stream :
48 first_statement_only:bool ->
49 include_paths:string list ->
50 ?do_heavy_checks:bool ->
51 ?enforce_no_new_aliases:bool -> (* default true *)
52 ?watch_statuses:(LexiconEngine.status -> GrafiteTypes.status -> unit) ->
53 LexiconEngine.status ->
54 GrafiteTypes.status ->
56 (GrafiteTypes.status ->
57 (CicNotationPt.term, CicNotationPt.term,
58 CicNotationPt.term GrafiteAst.reduction, CicNotationPt.term CicNotationPt.obj, string)
59 GrafiteAst.statement -> unit) ->
60 ((GrafiteTypes.status * LexiconEngine.status) *
61 (DisambiguateTypes.domain_item *
62 Cic.term DisambiguateTypes.codomain_item) option
65 (* this callback is called on every grafite command *)
66 val set_callback: (GrafiteParser.ast_statement -> unit) -> unit