package goblint

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type 'a e = 'a * string
type _ t =
  1. | Enum : 'a * ('a -> string) -> 'a t
  2. | Chan : 'a chan -> 'a chan t
  3. | Bool : bool -> bool t
  4. | Byte : int -> int t
  5. | Short : int -> int t
  6. | Int : int -> int t
  7. | String : string -> string t
  8. | Void : unit t
and 'a chan = {
  1. capacity : int e;
  2. mutable content : 'a list;
  3. content_type : 'a t;
}
val enums : (string, string) BatteriesExceptionless.Hashtbl.t
val of_enums : (string, int -> string option) BatteriesExceptionless.Hashtbl.t
val enum : (int -> 'a option) -> ('a -> string) -> string -> unit * string
val enum_type : string -> string option
val is_enum : string -> bool
val is_declared : 'a. 'a t -> bool
val unbox : 'a. 'a t -> string * ('a -> string) * 'a
type _ var =
  1. | Var : {
    1. name : string;
    2. init : 'a t;
    3. value : 'a BatteriesExceptionless.ref;
    4. show : 'a -> string;
    } -> ('a e * 'a e * ('a e -> unit e) * unit e) var
  2. | Arr : {
    1. name : string;
    2. init : 'a t;
    3. value : 'a array;
    4. show : 'a -> string;
    5. show_all : 'a array -> string;
    6. length : int;
    } -> ('a e * (int e -> 'a e) * ((int e * 'a e) -> unit e) * (int e -> unit e)) var
val var : 'a t -> string -> ('a e * 'a e * ('a e -> unit e) * unit e) var * string
val arr : (int * string) -> 'a t -> string -> ('a e * (int e -> 'a e) * ((int e * 'a e) -> unit e) * (int e -> unit e)) var * string
val var_name : 'x. 'x var -> string
val get : 'c 'g 's 'm. ('c * 'g * 's * 'm) var -> 'g
val set : 'c 'g 's 'm. ('c * 'g * 's * 'm) var -> 's
val (!) : ('a * 'b * 'c * 'd) var -> 'b
val (:=) : ('a * 'b * 'c * 'd) var -> 'c
val (@=) : ('a * 'b * 'c * 'd) var -> 'c
val _assert : (bool * string) -> unit * string
val println : ('a * string) -> unit * string
val _true : bool * string
val _false : bool * string
val wait : (bool * string) -> unit * string
val break : unit * string
val skip : unit * string
val nop : unit * string
module Chan : sig ... end
val (>>) : ('a * string) -> ('b * string) -> 'b * string
val bind : ('a * string) -> ('a -> 'b * string) -> 'b * string
val (>>=) : ('a * string) -> ('a -> 'b * string) -> 'b * string
val return : 'a -> 'a
val indent : string -> string
val surround : string -> string -> ('a * string) -> 'a * string
val _match : (('a * string) * ('b * string)) list -> unit * string
val _do : (('a * string) * ('b * string)) list -> unit * string
val _if : (('a * string) * ('b * string)) list -> unit * string
val _ifte : (bool * string) -> ('a * string) -> ('a * string) -> unit * string
val _ift : (bool * string) -> (unit * string) -> unit * string
val _for : ('a e * 'a e * ('a e -> unit e) * unit e) var -> ('b e * (int e -> 'b e) * ((int e * 'b e) -> unit e) * (int e -> unit e)) var -> ('c * string) -> 'c * string
val _foreach : ('a e * (int e -> 'a e) * ((int e * 'a e) -> unit e) * (int e -> unit e)) var -> (int e -> 'a e -> 'b * string) -> 'b * string
type ('a, 'b, 'c, 'd, 'e, 'z) args =
  1. | A0 of 'z e
  2. | A1 of 'a * 'a -> 'z e
  3. | A2 of 'a * 'b * 'a -> 'b -> 'z e
  4. | A3 of 'a * 'b * 'c * 'a -> 'b -> 'c -> 'z e
  5. | A4 of 'a * 'b * 'c * 'd * 'a -> 'b -> 'c -> 'd -> 'z e
  6. | A5 of 'a * 'b * 'c * 'd * 'e * 'a -> 'b -> 'c -> 'd -> 'e -> 'z e
module Macro : sig ... end
type eval =
  1. | EvalEnum of int -> string option
  2. | EvalInt
  3. | EvalString
  4. | EvalSkip
  5. | AssignIdOfString of string * int
val extract_funs : (string, eval list) BatteriesExceptionless.Hashtbl.t
val special_fun : string -> eval list option
val special_funs : unit -> string list
val extract : ?id:(int * int * string) -> string -> (('a e * 'a e * ('a e -> unit e) * unit e) var, ('b e * 'b e * ('b e -> unit e) * unit e) var, ('c e * 'c e * ('c e -> unit e) * unit e) var, ('d e * 'd e * ('d e -> unit e) * unit e) var, ('e e * 'e e * ('e e -> unit e) * unit e) var, 'f) args -> unit * string
val op : ('a -> 'b -> 'c) -> string -> ('a * string) -> ('b * string) -> 'c * string
val (==) : ('a * string) -> ('a * string) -> bool * string
val (!=) : ('a * string) -> ('a * string) -> bool * string
val (<) : ('a * string) -> ('a * string) -> bool * string
val (>) : ('a * string) -> ('a * string) -> bool * string
val (<=) : ('a * string) -> ('a * string) -> bool * string
val (>=) : ('a * string) -> ('a * string) -> bool * string
val (+) : (int * string) -> (int * string) -> int * string
val (-) : (int * string) -> (int * string) -> int * string
val (/) : (int * string) -> (int * string) -> int * string
val (*) : (int * string) -> (int * string) -> int * string
val (&&) : (bool * string) -> (bool * string) -> bool * string
val (||) : (bool * string) -> (bool * string) -> bool * string
val i : int -> int * string
val s : 'a -> 'a * 'a
val (^) : (string * string) -> (string * string) -> string * string
val fail : (string * string) -> unit * string
val i2s : (int * 'a) -> string * 'a
val e : 'a -> ('a -> 'b) -> 'a * 'b
val e2s : ('a * 'b) -> 'b * 'b
val incr : 'g 's 'm. (int e * 'g * 's * 'm) var -> 'm
val decr : 'g 's 'm. (int e * 'g * 's * 'm) var -> 'm