Frama-C API - Structure
Gadt describing the structure of a tree of different data types, and providing fast accessors of its nodes. The leaves must provide a key from a Key module, see key.mli for details.
Equality witness between types.
module type Key = sig ... endKeys identifying datatypes.
module Key_Context : KeyKeys module for the abstract contexts of Eva.
module Key_Location : KeyKeys module for the abstract locations of Eva.
module Key_Domain : KeyKeys module for the abstract domains of Eva.
module type Shape = sig ... endA Key module with its structure type.
module type Internal = sig ... endInternal view of the tree, with the structure.
module type External = sig ... endExternal view of the tree, with accessors. Automatically built by the functor Open from an Internal datatype. When a generic datatype is a combination of several other datatypes, these functions allow interacting with its subparts. Note that their behavior is undefined if the overall datatype contains several times the same datatype.
