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.domains/Domains/Term_domain/Make/Context/index.html

Module Make.ContextSource

Sourcetype t
Sourceval level : t -> int
Sourceval copy : t -> t

Create an independent copy of the context.

Sourceval assign : t -> t -> unit

assign ctx1 ctx2 makes ctx1 a copy of ctx2.

Types for serialization.

Sourcetype 'a in_tuple

The type of the tuples of argument to nondet (i.e., arguments of a phi function).

Sourcetype empty_tuple
Sourceval empty_tuple : unit -> empty_tuple in_tuple
Sourcetype 'a in_acc = bool * 'a in_tuple

An accumulator is a set of arguments to nondet, and an accumulated inclusion check.

Sourcetype 'a out_tuple

The type of the result of the phi function.

Sourcetype ('a, 'b) result =
  1. | Result : bool * 'some in_tuple * (t -> 'some out_tuple -> 'a * 'b out_tuple) -> ('a, 'b) result

We use a GADT because 'some is existentially quantified: we don't want the type of in_tuple to appear in serialization function, as, for instance, what we put in in in_tuple can depend on some condition.

The boolean expresses whether the second operand of the serialization was included in the first one.