DataFlow.Run
Run
requires a type variable
that is equipped with an implementation of imperative maps, a type property
that is equipped with leq
and join
functions, and a data flow graph whose edges describe the propagation of properties. It performs a forward data flow analysis and returns its result.
The function solution
has type variable -> property option
. A reachable variable is mapped to Some _
; an unreachable one is mapped to None
.
module M : sig ... end
module P : sig ... end
module G : sig ... end
type variable = G.variable
The type of variables.
type property = P.property option
The type of properties.