From 51684142c40fced940bb870742bc7f75c3e2fd52 Mon Sep 17 00:00:00 2001 From: ppedrot Date: Mon, 19 Aug 2013 18:16:23 +0000 Subject: Modulification and removing of structural equality in Stateid. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16705 85f007b7-540e-0410-9357-904b9bb8a0f7 --- lib/stateid.ml | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'lib/stateid.ml') diff --git a/lib/stateid.ml b/lib/stateid.ml index 3abd80cfb..1eac4bf3f 100644 --- a/lib/stateid.ml +++ b/lib/stateid.ml @@ -8,18 +8,18 @@ open Xml_datatype -type state_id = int -let initial_state_id = 1 -let dummy_state_id = 0 -let fresh_state_id, in_range = - let cur = ref initial_state_id in +type t = int +let initial = 1 +let dummy = 0 +let fresh, in_range = + let cur = ref initial in (fun () -> incr cur; !cur), (fun id -> id >= 0 && id <= !cur) -let string_of_state_id = string_of_int -let state_id_of_int id = assert(in_range id); id -let int_of_state_id id = id +let to_string = string_of_int +let of_int id = assert(in_range id); id +let to_int id = id let newer_than id1 id2 = id1 > id2 -let to_state_id = function +let of_xml = function | Element ("state_id",["val",i],[]) -> let id = int_of_string i in (* Coqide too to parse ids too, but cannot check if they are valid. @@ -27,11 +27,12 @@ let to_state_id = function if !Flags.ide_slave then assert(in_range id); id | _ -> raise (Invalid_argument "to_state_id") -let of_state_id i = Element ("state_id",["val",string_of_int i],[]) +let to_xml i = Element ("state_id",["val",string_of_int i],[]) -let state_id_info : (state_id * state_id) Exninfo.t = Exninfo.make () -let add_state_id exn ?(valid = initial_state_id) id = +let state_id_info : (t * t) Exninfo.t = Exninfo.make () +let add exn ?(valid = initial) id = Exninfo.add exn state_id_info (valid, id) -let get_state_id exn = Exninfo.get exn state_id_info +let get exn = Exninfo.get exn state_id_info -module StateidOrderedType = struct type t = state_id let compare = compare end +let equal = Int.equal +let compare = Int.compare -- cgit v1.2.3