Frama-C API - Parameter_sig
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
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. 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.