package codex
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
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/Memory_domains/Memory_domain/Make/argument-2-Block/index.html
Parameter Make.Block
include Memory_sig.AADT_WITH_BOOLEAN with module Scalar = Value.Scalar
include Memory_sig.AADT with module Scalar = Value.Scalar
module Scalar = Value.Scalarinclude Memory_sig.WITH_BOOLEAN_REDEFINITION
with module Context = Scalar.Context
include Sig.With_Boolean_Forward
include Sig.With_Boolean
with type boolean := boolean
with module Context = Scalar.Context
module Context = Scalar.Contextmodule Boolean : Datatype_sig.S with type t = booleanval boolean_pretty : Context.t -> Format.formatter -> boolean -> unitval serialize_boolean :
Context.t ->
boolean ->
Context.t ->
boolean ->
'a Context.in_acc ->
(boolean, 'a) Context.resultEmpty denotes that the concretization has no value (or it is the concrete value representing the absence of value). Note that this does not necessarily imply that some error occured; for instance the offset of an uninitialized pointer can be represented with empty. Emptyness testing is a simple way of communicating between domains.
module Boolean_Forward :
Operator.BOOLEAN_FORWARD
with module Arity := Sig.Context_Arity_Forward(Context)
and type boolean := booleanval query_boolean : Context.t -> boolean -> Lattices.Quadrivalent.tmodule Offset : Memory_sig.OFFSET with module Scalar = Scalarmodule Value = Valuetype offset = Offset.offsetval pretty : Context.t -> Format.formatter -> block -> unitinclude Operator.BLOCK_FORWARD
with module Arity := Sig.Context_Arity_Forward(Context)
and type boolean := boolean
and type value := Value.binary
and type block := block
and type offset := offset
val sizeof : (block, offset) Sig.Context_Arity_Forward(Context).ar1Size of a block in bytes
val concat : (block, block, block) Sig.Context_Arity_Forward(Context).ar2Concatenates two blocks
val load :
size:Units.In_bits.t ->
(block, offset, Value.binary) Sig.Context_Arity_Forward(Context).ar2Loads (extracts) a value of a fixed size at a given index from a block
val store :
size:Units.In_bits.t ->
(block, offset, Value.binary, block) Sig.Context_Arity_Forward(Context).ar3Stores (writes) a fixed size value of a given index in a block
val binary_to_block :
size:Units.In_bits.t ->
(Value.binary, block) Sig.Context_Arity_Forward(Context).ar1Converts a fixed size value to a block
val addresses_in_block :
Context.t ->
block ->
Context.t ->
block ->
(Value.binary * Value.binary) listval serialize :
widens:bool ->
Context.t ->
block ->
Context.t ->
block ->
'a Context.in_acc ->
(block, 'a) Context.resultval initial : Context.t -> Units.In_bytes.t -> blockCreate an initial region of size int (in bytes). Only meaning full for memories that are a single contiguous region
val block_unknown_typed : Context.t -> Types.TypedC.typ -> blockReturns an unknown block value with a given type.
val check_type :
Context.t ->
Types.TypedC.typ ->
block ->
block Types.Type_check_tree.tType check a block value
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>