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 * LexiconAst.alias_spec) option) list
38 (* heavy checks slow down the compilation process but give you some interesting
39 * infos like if the theorem is a duplicate *)
41 exception EnrichedWithLexiconStatus of exn * LexiconEngine.status
43 (* should be used only by the compiler since it looses the
44 * disambiguation_context (text,prefix_len,_) *)
45 val eval_from_stream :
46 first_statement_only:bool ->
47 include_paths:string list ->
48 ?do_heavy_checks:bool ->
49 ?enforce_no_new_aliases:bool -> (* default true *)
50 ?watch_statuses:(LexiconEngine.status -> GrafiteTypes.status -> unit) ->
51 LexiconEngine.status ->
52 GrafiteTypes.status ->
54 (GrafiteTypes.status ->
55 (CicNotationPt.term, CicNotationPt.term,
56 CicNotationPt.term GrafiteAst.reduction, CicNotationPt.term CicNotationPt.obj, string)
57 GrafiteAst.statement -> unit) ->
58 ((GrafiteTypes.status * LexiconEngine.status) *
59 (DisambiguateTypes.domain_item * LexiconAst.alias_spec) option) list
61 (* this callback is called on every grafite command *)
62 val set_callback: (GrafiteParser.ast_statement -> unit) -> unit