Commit bd473c2d authored by POTTIER Francois's avatar POTTIER Francois

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

parent dd8b9723
...@@ -810,7 +810,6 @@ end = struct ...@@ -810,7 +810,6 @@ end = struct
open P open P
(* TEMPORARY isolate and publish the analysis of a symbol *) (* 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]. (* 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 The parameter [get] allows a recursive call to the analysis at a nonterminal
......
...@@ -170,7 +170,9 @@ open StateLattice ...@@ -170,7 +170,9 @@ open StateLattice
let stack_states : Lr1.node -> property = let stack_states : Lr1.node -> property =
let module F = let module F =
Fix.Make(Lr1.ImperativeNodeMap)(StateLattice) Fix.Make
(Maps.PersistentMapsToImperativeMaps(Lr1.NodeMap))
(StateLattice)
in in
F.lfp (fun node (get : Lr1.node -> property) -> F.lfp (fun node (get : Lr1.node -> property) ->
......
...@@ -64,31 +64,6 @@ module NodeSet = ...@@ -64,31 +64,6 @@ module NodeSet =
module NodeMap = module NodeMap =
Map.Make (Node) 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. *) (* Output debugging information if [--follow-construction] is enabled. *)
......
...@@ -25,8 +25,6 @@ module NodeSet : Set.S with type elt = node ...@@ -25,8 +25,6 @@ module NodeSet : Set.S with type elt = node
module NodeMap : Map.S with type key = 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. *) (* These are the automaton's entry states, indexed by the start productions. *)
val entry: node ProductionMap.t 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