Module Parameter_sig

module Parameter_sig: sig .. end

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.

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.

Custom signatures

module type With_output = sig .. end

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

module type Filepath = S  with type t = Filepath.Normalized.t

signature for normalized pathnames.

module type Specific_dir = sig .. end

signature for searching files in a specific directory.

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
module type Kernel_function_set = Set  with type elt = Cil_types.kernel_function
       and type t = Cil_datatype.Kf.Set.t

Set of defined kernel functions.

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.

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.