Frama-C API - Fclib
module Ansi_escape : sig ... endThis modules provides utilities to use semantic tags to output color and style information on capable terminals.
module Array : sig ... endExtension of OCaml's Stdlib.Array module.
module Async : sig ... endModule dedicated to asynchronous actions.
module Bag : sig ... endList with constant-time concat operation.
module Binary_cache : sig ... endVery low-level abstract functorial caches. Do not use them unless you understand what happens in this module, and do not forget that those caches are not aware of projects.
module Bitvector : sig ... endBitvectors.
module Box : sig ... endmodule Channel : sig ... endmodule Command : sig ... endUseful high-level system operations.
module Composition : sig ... endThis module exposes two functors that, given a monad T called the "interior monad" and a monad S called the "exterior monad", build a monad of type 'a T.t S.t. To be able to do so, one has to provide a swap function that, simply put, swap the exterior monad out of the interior one. In other word, this function allows fixing "badly ordered" monads compositions, in the sens that they are applied in the opposite order as the desired one.
module Compression : sig ... endFile compression.
module Datatype : sig ... endA datatype provides useful values for types. It is a high-level API on top of module Type.
module Descr : sig ... endType descriptor for safe unmarshalling.
module Dotgraph : sig ... endHelper for Printing Dot-graphs.
module Escape : sig ... endmodule Extlib : sig ... endUseful operations. This module does not depend of any of frama-c module.
module Field : sig ... endThis module provides a generic signature describing mathematical fields, i.e algebraic structure that behave like rationals, reals or complex numbers. The signature also provides several functions that are not directly part of fields definition, but are useful nonetheless, in particular when using fields to model floating point computations.
module Fileloc : sig ... endThis module handle locations in a source file. Fileloc.t is a Frama-C datatype, and comes with usual compare, equal, hash and pretty functions.
module Filepath : sig ... endFunctions manipulating normalized filepaths. In these functions, references to the current working directory refer to the result given by function Sys.getcwd.
module Filepos : sig ... endThis module handle positions in a source file. Filepos.t is a Frama-C datatype, and comes with usual compare, equal, hash and pretty functions.
module Filesystem : sig ... endThe set of functions in Filesystem are provided both as a convenient way to use Filepath.t directly (without conversion) and to be safer variants than the standard library's or Unix library's.
module Finite : sig ... endEncoding of finite set in OCaml type system.
module Floating_point : sig ... endmodule Fun : sig ... endExtension of OCaml's Stdlib.Fun module.
module Hash : sig ... endThis module provides hash functions.
module Hashtbl : sig ... endExtension of OCaml's Stdlib.Hashtbl module.
module Hook : sig ... endHook builder. A hook is a bunch of functions which can be extended and applied at any program point.
module Hpath : sig ... endmodule Hptmap : sig ... endEfficient maps from hash-consed trees to values, implemented as Patricia trees.
module Hptmap_sig : sig ... endSignature for the Hptmap module
module Hptset : sig ... endSets over ordered types.
module Identity : sig ... endmodule Int : sig ... endExtension of OCaml's Stdlib.Int module.
module Json : sig ... endJson Library
module Linear : sig ... endDefinition of a linear space over a field.
module List : sig ... endExtension of OCaml's Stdlib.List module. @see https://frama-c.com/download/frama-c-plugin-development-guide.pdf
module Log : sig ... endLogging Services for Frama-C Kernel and Plugins.
module Lti_system : sig ... endThis module aims to provide overapproximations of the behaviors of linear time-invariant systems, for both the transition and the permanent phases.
module Map : sig ... endExtension of OCaml's Stdlib.Maps module.
module Markdown : sig ... endmodule Monad : sig ... endmodule Nat : sig ... endEncoding of the Peano arithmetic in OCaml type system. A value of type n nat contains n at the value and the type level, allowing to express properties on objects sizes and accesses for example. It is used by the module Linear to represent vectors and matrices dimensions.
module Option : sig ... endExtension of OCaml's Stdlib.Option module. Be wary that the parameters order of the bind function are reversed compared to the standard library and that get takes an optional exn argument. @see https://frama-c.com/download/frama-c-plugin-development-guide.pdf
module Parray : sig ... endmodule Pretty : sig ... endThis module provides pretty printing utilities. Same as Pretty_utils but without dependencies to Fclib.List or Fclib.Array.
module Pretty_utils : sig ... endPretty-printer utilities.
module Project : sig ... endProjects management.
module Project_skeleton : sig ... endThis module should not be used outside of the Project library.
module Qstack : sig ... endMutable stack in which it is possible to add data at the end (like a queue) and to handle non top elements. Current implementation is double linked list.
module Rangemap : sig ... endAssociation tables over ordered types.
module Result : sig ... endmodule Rich_text : sig ... endmodule Sanitizer : sig ... endmodule Set : sig ... endExtension of OCaml's Stdlib.Set module.
module State : sig ... endA state is a project-compliant mutable value.
module State_builder : sig ... endState builders. Provide ways to implement signature State_builder.S. Depending on the builder, also provide some additional useful information.
module State_dependency_graph : sig ... endState Dependency Graph.
module State_monad : sig ... endThe State monad represents computations relying on a global mutable state but implemented in a functional way.
module State_selection : sig ... endA state selection is a set of states with operations for easy handling of state dependencies.
module State_topological : sig ... endTopological ordering over states.
module String : sig ... endExtension of OCaml's Stdlib.String module.
module Structural_descr : sig ... endInternal representations of OCaml type as first class values. These values are called structural descriptors.
module Task : sig ... endHigh Level Interface to Command.
module Test_pretty : sig ... endmodule Type : sig ... endType value. A type value is a value representing a static ML monomorphic type. This API is quite low level. Prefer to use module Datatype instead whenever possible.
module Typed_float : sig ... endmodule Unicode : sig ... endPretty printers of unicode symbols. Each function in this module prints a single unicode symbol, or an ASCII-based replacement if -no-unicode option is set.
module Unmarshal : sig ... endProvides a function input_val, similar in functionality to the standard library function Marshal.from_channel. The main difference with Marshal.from_channel is that input_val is able to apply transformation functions on the values on the fly as they are read from the input channel.
module Unmarshal_z : sig ... endmodule Utf8_logic : sig ... endUTF-8 string for logic symbols. Use the Unicode module to print these symbols.
module Vector : sig ... endExtensible Arrays
module Wto : sig ... endWeak topological orderings (WTOs) are a hierarchical decomposition of the a graph where each layer is topologically ordered and strongly connected components are aggregated and ordered recursively. This is a very convenient representation to describe an evaluation order to reach a fixpoint.
module Z : sig ... endExtension of Z from Zarith. Fc_internal_z only includes to Zarith.Z module, it is mandatory if we want to call this module Z without shadowing Zarith's module. This solution is a bit ugly and could be replace by root_module in kernel dune file, but this does not work for now...
