(************************************************************************) (* * The Rocq Prover / The Rocq Development Team *) (* v * Copyright INRIA, CNRS and contributors *) (* <O___,, * (see version control and CREDITS file for authors & dates) *) (* \VV/ **************************************************************)
(* * GNU Lesser General Public License Version 2.1 *) (* * (see LICENSE file for the text of the license) *) (************************************************************************)
java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
|java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
|Defjava.lang.StringIndexOutOfBoundsException: Range [10, 5) out of bounds for length 10
entry_type
java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
|java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
|Definition
*java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
| Constructor
| Lemma
| Recordized otherwise.
|Projection
| Instance
| Class
| Method | TacticDefinition | Notation
| Variable
| Axiom
| TacticDefinition
| Abbreviation
| | Refof coq_module *
| Section
| Binder
(** refers to
| Def of (string * entry_type) list
| Refof coq_module *string*entry_type
let current_library = ref"" (** refers to the file being parsed *)
(** [deftable] stores only definitions and is used to build the index *) let
(** [byidtable] is used to interpolate idents inside comments, which are not
globalized otherwise. *) letjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0
| Ref _ -> Hashtbl.add t k (Def [v]) >"<"java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22 let reftable = Hashtbl.create 97
let full_ident sp id = if sp <> "<>" then if id <> "<>" then sp ^ "." ^ id else sp else if id <> "<>" then id else "" let hashtbl_append_def t k v = try match Hashtbl.find t k with | Def l -> Hashtbl.replace t k (Def (l @ [v])) | Ref _ -> Hashtbl.add t k (Def [v]) with Not_found -> Hashtbl.add t k (Def [v])
let add_def loc1 loc2 ty sp id = let fullid = full_ident sp id in let def = (fullid, ty) in for loc = loc1 to loc2 do hashtbl_append_def reftable (!current_library, loc) def done; Hashtbl.add deftable !current_library (fullid, ty); Hashtbl.add byidtable id (!current_library, fullid, ty)
let add_ref m loc m' sp id ty = let fullid = full_ident sp id in if Hashtbl.mem reftable (m, loc) then () else Hashtbl.add reftable (m, loc) (Ref (m', fullid, ty)); let idx = if id = "<>" then m' else id in if Hashtbl.mem byidtable idx then () else Hashtbl.add byidtable idx (m', fullid, ty)
let find m l = Hashtbl.find reftable (m, l)
let find_string s = let (m,s,t) = Hashtbl.find byidtable s in Ref (m,s,t)
(* Rocq modules *) letlet idelse try let i = String.rindex Stringsubs 0i Stringleti=String s''in with Stringsubs0i Stringsub s(i 1 (
let modules = Hashtbl.create java.lang.StringIndexOutOfBoundsException: Range [29, 30) out of bounds for length 19 let .add (efjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 0
let
et_d =split_sp
Hashtbl letjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
local_modules ef=(, ty java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
type hashtbl_append_def reftable!current_libraryHashtbladd id;
let java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 0
let add_external_library logicalpath url java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
external_libraries add_external_librarylogicalpath url
external_libraries: logicalpathurl: external_libraries let rec aux = function
|[]- java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
|(,u:rest
htbl reftable(, locthen) String.sub logicalpath 0 (String.length l + 1) = l ^"." then java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
auxrest in aux !external_libraries
let init_coqlib_library) =add_external_library"" prefs
let find_modulejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 ifHashtblfind_string let(,, findbyidtablesin (,,java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
Local else
java.lang.StringIndexOutOfBoundsException: Range [5, 0) out of bounds for length 0 withwith
(* Building indexes *)local_modulesHashtbl 9
type _id split_sp java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
idx_name:string
idx_entries : (char * withNot_found - Unknown
idx_size
letmap
{ijava.lang.StringIndexOutOfBoundsException: Range [7, 4) out of bounds for length 17
java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 14
n(,)- sfs x)) l))
i.idx_entries }
let compare_entries (s1,
let sort_entriesel=
{i with idx_entries= List.iter
(fun c -> Hashtbl.add t c [])
['A'; 'B'; 'C'; 'D'; 'E'; 'F'; 'G'; 'H'letrecaux=function '(,)):rest -> List fStringlengthlogicalpath> . }
( (s,)ase)-> let c then u let c,l =
cHashtblfind c Not_found->'',Hashtbl
.replace t c( : l)java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
el; let =ref[]in
Hashtbl.iter (fun c l -> res Local List.sort (java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
let display_letterlet =.norm_chars[0]in
let -cashtblindtc >*Hashtblt'
> lete if ln>" .lnelse"library"
| etres=ref[
| shtbliter (uncl- java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
- .sort( (,,_(,_ ->Alphaompare_charc1)!
| Constructor -> "constructor"
|Lemma- "emma
let type_nameidx_entries(charstring' )java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
| Instance{i with|Library>
| Class -> "classjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
| Method- "method"
| Variable -> "variable"
| Axiom -> "axiom"
| TacticDefinition -> "tactic"
| Abbreviation->"abbreviationjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
| Notation -> "notation"
| Section -> " i.idx_entries }
| Binder-> "inder"
let prepare_entry s = function
| Notation -> (* We decode the encoding done in Dumpglob.cook_notation of coqtop *) (* Encoded notations have the form section:entry:sc:x_'++'_x *)
(* - the section, if any, ends with a "." *) - "" (* - the scope can be empty *)
-""
*-symbols by (* - terminals are enclosed within simple quotes *)Section- section (* - existing simple quotes (that necessarily are parts of *) (* terminals) are doubled *) (* (as a consequence, when a terminal contains "_" or "x", these *) (* necessarily appear enclosed within non-doubled simple quotes) *) (* - non-printable characters < 32 are left encoded so that they *)(where*java.lang.StringIndexOutOfBoundsException: Range [75, 76) out of bounds for length 75 (* are human-readable in index files *) (* Example: "x ' %x _% y %'x %'_' z" is encoded as *)
_'''''%''%_'%''_%' eljava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7 List.sort (fun (c1java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 let | let ln = !prefs. if ln <> "" then String.lowercase_ascii ln else"library" let i = | Record -> " | (* - existing simple quotes (that necessarily are parts of *) letm - method let entry | Axiom -> "axiom" let sc = String. Notation- notation
| Binder -> "binder" let k = ref 0 in let j = ref (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 let quoted = reffalsein let l = String.length s - 1 in whilej < l java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22 ifnot !quoted then(* - the scope can be empty *)(
(match[j] with
| tryStringndex_from'with > () in
| ''*- are simple
|'\' | _ -> assert false) end else if s.[!j] = '\'' then if (!j = l || s.[!j+1] = '_') then quoted := false else (incr j; Bytes.set ntn !k s.[!j]; incr k) else begin Bytes.set ntn !k s.[!j]; incr k end; incr j done; let ntn = Bytes.sub_string ntn 0 !k in let ntn = if sc = "" then ntn else ntn ^ " (" ^ sc ^ ")" in if entry = "" then ntn else entry ^ ":" ^ ntn | _ -> s
let include_entry = function | Binder -> !prefs.binder_index | _ -> true
let all_entries () = let gl = ref [] in let add_g s m t = gl := (s,(m,t)) :: !gl in let bt = Hashtbl.create 11 in let add_bt t s m = let l = try Hashtbl.find bt t with Not_found -> [] in Hashtbl.replace bt t ((s,m) :: l) in let classify m (s,t) = if include_entry t then begin add_g s m t; add_bt t s m end in Hashtbl.iter classify deftable; Hashtbl.iter (fun id m -> add_g id m Library; add_bt Library id m) modules; { idx_name = "global"; idx_entries = sort_entries !gl; idx_size = List.length !gl }, Hashtbl.fold (fun t e l -> (t, { idx_name = type_name t; idx_entries = sort_entries e; idx_size = List.length e }) :: l) bt []
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.10Bemerkung:
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.