package codex

  1. Overview
  2. Docs
The Codex library for building static analysers based on abstract interpretation

Install

dune-project
 Dependency

Authors

Maintainers

Sources

1.0-rc4.tar.gz
md5=bc7266a140c6886add673ede90e335d3
sha512=8da42c0ff2c1098c5f9cb2b5b43b306faf7ac93b8f5ae00c176918cee761f249ff45b29309f31a05bbcf6312304f86a0d5a000eb3f1094d3d3c2b9b4c7f5c386

doc/codex.fixpoint/Fixpoint/Wto/index.html

Module Fixpoint.WtoSource

Weak topological orderings (WTOs) are a hierarchical decomposition of the a graph where each layer is topologically ordered and strongly connected components are aggregated and ordered recursively. This is a very convenient representation to describe an evaluation order to reach a fixpoint.

Sourcetype 'n component =
  1. | Component of 'n * 'n partition
    (*

    A strongly connected component, described by its head node and the remaining sub-components topologically ordered

    *)
  2. | Node of 'n
    (*

    A single node without self loop

    *)

Each component of the graph is either an individual node of the graph (without) self loop, or a strongly connected component where a node is designed as the head of the component and the remaining nodes are given by a list of components topologically ordered.

Sourceand 'n partition = 'n component list

A list of strongly connected components, sorted topologically

Sourceval flatten : 'n partition -> 'n list
Sourceval fold_heads : ('a -> 'n -> 'a) -> 'a -> 'n partition -> 'a
Sourcemodule Make (Node : sig ... end) : sig ... end

This functor provides the partitioning algorithm constructing a WTO.