module Parameter_customize:sig..end
Configuration of command line options.
You can apply the functions below just before applying one of the functors
provided by the functor Plugin.Register and generating a new
parameter.
val set_cmdline_stage : Cmdline.stage -> unitSet the stage where the option corresponding to the parameter is
recognized. Default is Cmdline.Configuring.
val do_not_journalize : unit -> unitPrevent journalization of the parameter.
val do_not_projectify : unit -> unitPrevent projectification of the parameter: its state is shared by all the
existing projects. Also imply Parameter_customize.do_not_save and Parameter_customize.do_not_reset_on_copy.
val do_not_reset_on_copy : unit -> unitPrevents resetting the parameter to its default value when creating a project from a copy visitor.
val do_not_save : unit -> unitPrevent serialization of the parameter.
val set_negative_option_name : string -> unitFor boolean parameters, set the name of the negative option generating automatically from the positive one (the given option name). The default used value prefixes the given option name by "-no". Assume that the given string is a valid option name or empty. If it is empty, no negative option is created.
val set_negative_option_help : string -> unitFor boolean parameters, set the help message of the negative option generating automatically. Assume that the given string is non empty.
val set_unset_option_name : string -> unitFor string collection parameters, set the name of an option that will remove elements from the set. There is no default value: if the this function is not called (or if it is the empty string), it will only be possible to add elements from the command line.
val set_unset_option_help : string -> unitFor string collection parameters, gives the help message for
the corresponding unset option. Useless if set_unset_option_name
has not been called before. No default.
val set_optional_help : (unit, Stdlib.Format.formatter, unit) Stdlib.format -> unitConcatenate an additional description just after the default one.
val set_group : Cmdline.Group.t -> unitAffect a group to the parameter.
val is_invisible : unit -> unitPrevent -help from listing the parameter.
Also imply Parameter_customize.is_not_reconfigurable.
val argument_is_function_name : unit -> unitIndicate that the string argument of the parameter must be a valid function
name. A valid function name is the name of a function defined in the
analysed C program. Do nothing if the following applied functor has not type
String.
String_set or
String_list.val argument_may_be_fundecl : unit -> unitIndicate that the argument of the parameter can match a valid function declaration (otherwise it has to match a defined functions).
val argument_must_be_fundecl : unit -> unitIndicate that the argument of the parameter must match a valid function declaration.
val argument_must_be_existing_fun : unit -> unitIndicate that if the argument of the parameter does not match a valid
function name, it raises an error whatever the value of the option
-permissive is. Only meaningful for parameters that are collections of
kernel_function or fundec.
This flag does not imply argument_may_be_fundecl. If the latter is
unset, names of defined-only functions will raise an error as well.
val is_reconfigurable : unit -> unitEnsure that the GUI will show this parameter. By default
only parameters corresponding to options registered at the
Cmdline.Configuring stage are reconfigurable.
do_iterate renamed to is_reconfigurableval is_not_reconfigurable : unit -> unitPrevent the GUI from showing this parameter. By default, only
parameters corresponding to options registered at the
Cmdline.Configuring stage are reconfigurable.
do_iterate renamed to is_reconfigurableval no_category : unit -> unitPrevent a collection parameter to use categories and the extension '+', and '-' mechanism. In particular, you should consider this customization when the parameter is a list of '-' prefixed options to an external tool, unless you are willing to let users escape the initial '-' everytime.
val get_c_ified_functions : string -> Cil_datatype.Kf.Set.tFunction names can be modified (aka mangled) from the original source to
valid C identifiers. In order to allow users to use the original names
on the command-line options manipulating function names, this function
will return the set of function whose name correspond to the given string,
possibly via a mangling operation registered with the
Parameter_customize.add_function_name_transformation function below. By default, no
mangling function is registered, and the returned set is either empty or
a singleton corresponding to the unique function with that name. Results
from all registered functions are cumulative, so that a mangling function
should take care of returning the empty set for names that it does not
understand.
val add_function_name_transformation : (string -> Cil_datatype.Kf.Set.t) -> unitAdds a mangling operation to allow writing user-friendly function names
on command-line. See Parameter_customize.get_c_ified_functions for more information.