package pds-reachability

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module type Pds_reachability_structure.StructureSource

The type of the module which defines the data structure used within the analysis.

The decorated stack element type used by the PDS.

The decorated node type in the reachability structure.

The decorated edge type in the reachability structure.

The decorated type of targeted dynamic pop actions in this structure.

The decorated type of untargeted dynamic pop actions in this structure.

The type of the PDS reachability data structure.

include Pds_reachability_utils.Decorated_type
Sourcetype t
Sourceval equal : t -> t -> bool
Sourceval compare : t -> t -> int
Sourceval show : t -> string
Sourceval to_yojson : t -> Yojson.Safe.json
Sourceval to_yojson_delta : t -> t -> Yojson.Safe.json

Produces a Yojson structure representing the contents of a latter analysis which do not appear in the former.

Sourceval empty : t

The empty PDS reachability structure.

Sourceval add_edge : Edge.t -> t -> t

Adds an edge to a reachability structure.

Sourceval has_edge : Edge.t -> t -> bool

Determines if a structure has a particular edge.

Sourceval add_untargeted_dynamic_pop_action : Node.t -> Untargeted_dynamic_pop_action.t -> t -> t

Adds an untargeted dynamic pop action to a reachability structure.

Sourceval has_untargeted_dynamic_pop_action : Node.t -> Untargeted_dynamic_pop_action.t -> t -> bool

Determines if a given untargeted dynamic pop action is present in a reachability structure.

Query functions.
Sourceval find_push_edges_by_source : Node.t -> t -> (Node.t * Stack_element.t) Batteries.Enum.t
Sourceval find_pop_edges_by_source : Node.t -> t -> (Node.t * Stack_element.t) Batteries.Enum.t
Sourceval find_nop_edges_by_source : Node.t -> t -> Node.t Batteries.Enum.t
Sourceval find_targeted_dynamic_pop_edges_by_source : Node.t -> t -> (Node.t * Targeted_dynamic_pop_action.t) Batteries.Enum.t
Sourceval find_untargeted_dynamic_pop_actions_by_source : Node.t -> t -> Untargeted_dynamic_pop_action.t Batteries.Enum.t
Sourceval find_push_edges_by_target : Node.t -> t -> (Node.t * Stack_element.t) Batteries.Enum.t
Sourceval find_pop_edges_by_target : Node.t -> t -> (Node.t * Stack_element.t) Batteries.Enum.t
Sourceval find_nop_edges_by_target : Node.t -> t -> Node.t Batteries.Enum.t
Sourceval enumerate_nodes : t -> Node.t Batteries.Enum.t
Sourceval enumerate_edges : t -> Edge.t Batteries.Enum.t
Submodules.
Sourcemodule Node_set : Batteries.Set.S with type elt = Node.t