Module PdgTypes

module PdgTypes: sig .. end
This module defines the types that are used to store the PDG of a function.
Consult the Plugin Development Guide for additional details.

module Node: sig .. end
Node.t is the type of the PDG vertex.
module NodeSet: Hptset.Make(Node)(sig
val v : 'a list list
end)(sig
val l : State.t list
end)
module NodeSetLattice: sig .. end
set of nodes of the graph
module LocInfo: Lmap_bitwise.Make_bitwise(NodeSetLattice)
module Dpd: sig .. end
Edges label for the Program Dependence Graph.
module DpdZone: sig .. end
module G: sig .. end
The graph itself.
type data_state = {
   loc_info : LocInfo.t;
   under_outputs : Locations.Zone.t;
}
DataState is associated with a program point and provide the dependancies for the data, ie. it stores for each location the nodes of the pdg where its value was last defined. Managed in src/pdg/state.ml

a data_state object is associated with a program point and provides a mapping between a location and some nodes in the PDG that are used to compute the location value at that point.

module Data_state: Datatype.Make(sig
include Datatype.Serializable_undefined
type t = PdgTypes.data_state 
val name : string
val reprs : PdgTypes.data_state list
val rehash : 'a -> 'a
val structural_descr : Structural_descr.t
val mem_project : (Project_skeleton.t -> bool) -> 'a -> bool
end)
module Pdg: sig .. end
PDG for a function