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.whilelib/Whilelib/While_analysis/NonRelationalDomain/Terms/index.html

Module NonRelationalDomain.Terms

module Condition : sig ... end
type superterms = Terms.superterms
module Relation : sig ... end
module Id : sig ... end
type level = int
type widening_id = int
type !'a complete_term = 'a Terms.complete_term =
  1. | Tuple_get : int * cfg_node -> 'res complete_term
  2. | Empty : 'res0 complete_term
  3. | Unknown : level -> 'res1 complete_term
  4. | Mu_formal : {
    1. level : level;
    2. actual : 'res2 t * Operator.Function_symbol.boolean t;
    } -> 'res2 complete_term
  5. | Inductive_var : {
    1. widening_id : widening_id;
    2. level : level;
    3. mutable definition : 'res3 t;
    } -> 'res3 complete_term
  6. | T0 : {
    1. tag : (Operator.Function_symbol.ar0, 'res4) Operator.Function_symbol.function_symbol;
    } -> 'res4 complete_term
  7. | T1 : {
    1. tag : ('a0 Operator.Function_symbol.ar1, 'res5) Operator.Function_symbol.function_symbol;
    2. a : 'a0 t;
    3. level : level;
    } -> 'res5 complete_term
  8. | T2 : {
    1. tag : (('a1, 'b) Operator.Function_symbol.ar2, 'res6) Operator.Function_symbol.function_symbol;
    2. a : 'a1 t;
    3. b : 'b t;
    4. level : level;
    } -> 'res6 complete_term
and !'a parent = 'a Terms.parent =
  1. | Node : 'b t * ('a0, 'b) Relation.t -> 'a0 parent
  2. | Root
and any = Terms.any =
  1. | Any : 'res t -> any
and cfg_node = private Terms.cfg_node =
  1. | Nondet of {
    1. id : tuple Id.t;
    2. level : level;
    3. a : tuple;
    4. conda_bool : Operator.Function_symbol.boolean t;
    5. b : tuple;
    6. condb_bool : Operator.Function_symbol.boolean t;
    }
  2. | Mu of {
    1. id : tuple Id.t;
    2. level : level;
    3. init : tuple;
    4. var : tuple;
    5. body : tuple;
    6. body_cond : Operator.Function_symbol.boolean t;
    }
  3. | Inductive_vars of {
    1. id : tuple Id.t;
    2. widening_id : widening_id;
    3. level : int;
    4. mutable def : tuple;
    }
val polyeq : 'a t -> 'b t -> ('a, 'b) PatriciaTree.cmp
module Any : sig ... end
module CFG_Node : sig ... end
module SUPER_TERMS : sig ... end
val compare : 'a t -> 'b t -> int
val hash : 'a t -> int
val equal : 'a t -> 'b t -> bool
val pretty : Format.formatter -> 'a t -> unit
val level : 'a t -> int
module Build : sig ... end
module Utils : sig ... end
val get_parent : 'a t -> 'a parent
module UnionFind : sig ... end