Module type Fang_flow.ANALYSIS
Generic backward analysis on flow graphs.
type fact
See
FACT
.
val run : graph -> t
The following properties must hold of the graph prior to running an analysis:
- All labels referenced in branches must be defined
- No labels may be defined multiple times
If they don't, the behaviour is unspecified.
Querying blocks
In the functions below, the block being queried must originate from the same graph that was analyzed. If it doesn't, the behaviour is unspecified.
val out_block : block -> t -> fact
out_block block t
is the computed fact leavingblock
(i.e., the exit-point).