package goblint

  1. Overview
  2. Docs
Static analysis framework for C

Install

dune-project
 Dependency

Authors

Maintainers

Sources

goblint-2.7.1.tbz
sha256=af01aac256229f33a90a9fcbfed04b01e3097f154d4d124f006476d6387c6a66
sha512=2a93bfe16881adbc2d8dcbfe38c1e19cd24ca105d8e1eda13d02440f3002874ffe2957dfd937510765233a054a40568b0052db92e31d382a5bd215d1ec12565c

doc/goblint_cdomain_value/StringDomain/index.html

Module StringDomain

String literals domain.

include Printable.S
type t
val equal : t -> t -> bool
val hash : t -> int
val compare : t -> t -> int
val show : t -> string
val pretty : unit -> t -> Printable.Pretty.doc
val printXml : 'a BatInnerIO.output -> t -> unit
val name : unit -> string
val to_yojson : t -> Yojson.Safe.t
val tag : t -> int

Unique ID, given by HConsed, for context identification in witness

val arbitrary : unit -> t QCheck.arbitrary
val relift : t -> t
val reset_lazy : unit -> unit

Reset the cached configuration of the string domain.

val of_string : string -> t

Convert from string.

val to_string : t -> string option

Convert to string if possible.

C strings are different from OCaml strings as they are not processed after the first NUL byte, even though the OCaml string (and a C string literal) may be longer.

val to_c_string : t -> string option

Convert to C string if possible.

val to_n_c_string : int -> t -> string option

Convert to C string of given maximum length if possible.

val to_string_length : t -> int option

Find length of C string if possible.

val to_exp : t -> GoblintCil.exp

Convert to CIL expression.

val semantic_equal : t -> t -> bool option

Check semantic equality of two strings.

  • returns

    Some true if definitely equal, Some false if definitely not equal, None if unknown.

Some Lattice.S operations.

val leq : t -> t -> bool
val join : t -> t -> t
val meet : t -> t -> t
val repr : t -> t

Representative for address lattice.