blob: 60c2138782417a5f268a0f1d33c0c68e818ce327 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
(************************************************************************)
(* v * The Coq Proof Assistant / The Coq Development Team *)
(* <O___,, * CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud *)
(* \VV/ **************************************************************)
(* // * This file is distributed under the terms of the *)
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
(*i $Id: index.mli,v 1.1.2.1 2004/07/16 19:31:46 herbelin Exp $ i*)
type coq_module = string
type loc = int
type entry_type =
| Library
| Module
| Definition
| Inductive
| Constructor
| Lemma
| Variable
| Axiom
| TacticDefinition
type index_entry =
| Def of string * entry_type
| Ref of coq_module * string
| Mod of coq_module * string
val find : coq_module -> loc -> index_entry
val add_module : coq_module -> unit
type module_kind = Local | Coqlib | Unknown
val find_module : coq_module -> module_kind
(*s Scan identifiers introductions from a file *)
val scan_file : string -> coq_module -> unit
(*s Read globalizations from a file (produced by coqc -dump-glob) *)
val read_glob : string -> unit
(*s Indexes *)
type 'a index = {
idx_name : string;
idx_entries : (char * (string * 'a) list) list;
idx_size : int }
val all_entries : unit ->
(coq_module * entry_type) index *
(entry_type * coq_module index) list
val map : (string -> 'a -> 'b) -> 'a index -> 'b index
|