Commit bd473c2d authored by POTTIER Francois's avatar POTTIER Francois

Removed [Lr1.ImperativeNodeMap], using [Maps] instead.

parent dd8b9723
......@@ -810,7 +810,6 @@ end = struct
open P
(* TEMPORARY isolate and publish the analysis of a symbol *)
(* TEMPORARY remove Lr1.ImperativeNodeMap, use Maps instead *)
(* Analyzing a production whose right-hand side is [rhs], starting at index [i].
The parameter [get] allows a recursive call to the analysis at a nonterminal
......
......@@ -170,7 +170,9 @@ open StateLattice
let stack_states : Lr1.node -> property =
let module F =
Fix.Make(Lr1.ImperativeNodeMap)(StateLattice)
Fix.Make
(Maps.PersistentMapsToImperativeMaps(Lr1.NodeMap))
(StateLattice)
in
F.lfp (fun node (get : Lr1.node -> property) ->
......
......@@ -64,31 +64,6 @@ module NodeSet =
module NodeMap =
Map.Make (Node)
module ImperativeNodeMap = struct
type key =
NodeMap.key
type 'data t =
'data NodeMap.t ref
let create () =
ref NodeMap.empty
let clear t =
t := NodeMap.empty
let add k d t =
t := NodeMap.add k d !t
let find k t =
NodeMap.find k !t
let iter f t =
NodeMap.iter f !t
end
(* ------------------------------------------------------------------------ *)
(* Output debugging information if [--follow-construction] is enabled. *)
......
......@@ -25,8 +25,6 @@ module NodeSet : Set.S with type elt = node
module NodeMap : Map.S with type key = node
module ImperativeNodeMap : Fix.IMPERATIVE_MAPS with type key = node
(* These are the automaton's entry states, indexed by the start productions. *)
val entry: node ProductionMap.t
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment