package frama-c

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Signatures for command line options.

Input signatures

One of these signatures is required to implement a new command line option.

module type Input = sig ... end

Minimal signature to implement for each parameter corresponding to an option on the command line argument.

module type Input_with_arg = sig ... end

Minimal signature to implement for each parameter corresponding to an option on the command line argument which requires an argument.

module type Input_collection = sig ... end

Minimal signature for collections of custom datatype

module type String_datatype = sig ... end

Signature required to build custom collection parameters in which elements are convertible to string.

module type String_datatype_with_collections = sig ... end

Signature requires to build custom collection parameters in which elements are convertible to string.

module type Value_datatype = sig ... end

Signature of the optional value associated to the key and required to build map parameters.

module type Multiple_value_datatype = sig ... end

Signature of the optional value associated to the key and required to build multiple map parameters. Almost similar to Value_datatype.

Output signatures

Signatures corresponding to a command line option of a specific type.

Generic signatures

module type S_no_parameter = sig ... end

Generic signature of a parameter, without parameter.

module type S = sig ... end

Generic signature of a parameter.

Signatures for simple datatypes

module type Bool = sig ... end

Signature for a boolean parameter.

module type Int = sig ... end

Signature for an integer parameter.

module type String = sig ... end

Signature for a string parameter.

module type Custom = sig ... end

Signature for a custom parameter.

Custom signatures

module type With_output = sig ... end

Signature for a boolean parameter that causes something to be output.

module type Filepath = sig ... end

signature for normalized pathnames.

module type Site_dir = sig ... end

Dune site directories (share, lib, ...) and subdirectories. They are connected to a root module (see Site_root), that may not be unique, and these are considered as installed files (although the user might provide another location).

module type Site_root = sig ... end

Dune site roots (share, lib, ...).

module type User_dir = sig ... end

User directories (session, config, state, ...). We do not expect these directories/files to exist. Several roots are provided in Plugin, namely Plugin.Session, Plugin.Cache_dir, Plugin.Config_dir and Plugin.State_dir.

module type User_dir_opt = sig ... end

Basically User_dir but with an option to override the original path.

Collections

module type Collection_category = sig ... end

Signature for a category over a collection.

module type Collection = sig ... end

Common signature to all collections.

module type Set = sig ... end

Signature for sets as command line parameters.

module type String_set = Set with type elt = string and type t = Datatype.String.Set.t

Set of defined kernel functions. If you want to also include pure prototype, use Parameter_customize.argument_may_be_fundecl.

module type Fundec_set = Set with type elt = Cil_types.fundec and type t = Cil_datatype.Fundec.Set.t
module type List = sig ... end

Signature for lists as command line parameters.

module type String_list = List with type elt = string and type t = string list
module type Filepath_list = List with type elt = Datatype.Filepath.t and type t = Datatype.Filepath.t list
module type Map = sig ... end

Signature for maps as command line parameters.

module type Multiple_map = sig ... end

Signature for multiple maps as command line parameters. Almost similar to Map.

module type Filepath_map = Map with type key = Datatype.Filepath.t

All the different kinds of command line options as functors

module type Builder = sig ... end

Signatures containing the different functors which may be used to generate new command line options.

OCaml

Innovation. Community. Security.