module Dataflow:sig
..end
Deprecated: use Dataflows
instead. A framework for implementing data
flow analysis.
type 't
action =
| |
Default |
(* | The default action | *) |
| |
Done of |
(* | Do not do the default action. Use this result | *) |
| |
Post of |
(* | The default action, followed by the given transformer | *) |
type 't
stmtaction =
| |
SDefault |
(* | The default action | *) |
| |
SDone |
(* | Do not visit this statement or its successors | *) |
| |
SUse of |
(* | Visit the instructions and successors of this statement as usual, but use the specified state instead of the one that was passed to doStmt | *) |
type 't
guardaction =
| |
GDefault |
(* | The default state | *) |
| |
GUse of |
(* | Use this data for the branch | *) |
| |
GUnreachable |
(* | The branch will never be taken. | *) |
For if statements
module type StmtStartData =sig
..end
module StartData:
This module can be used to instantiate the StmtStartData
components
of the functors below.
module type ForwardsTransfer =sig
..end
Interface to provide for a forward dataflow analysis.
module Forwards:
module type BackwardsTransfer =sig
..end
Interface to provide for a backward dataflow analysis.
module Backwards:
val find_stmts : Cil_types.fundec -> Cil_types.stmt list * Cil_types.stmt list