Catala_utils.Global
This module contains definitions of global flags and types used throughout. They should be defined from the command-line and never modified afterwards.
type raw_file = private file
A file name that has not yet been resolved, options.path_rewrite
must be called on it
Format of error and warning messages output by the compiler.
type options = private {
mutable input_src : file input_src;
mutable language : backend_lang option;
mutable debug : bool;
mutable color : when_enum;
mutable message_format : message_format_enum;
mutable trace : Stdlib.Format.formatter Stdlib.Lazy.t option;
mutable trace_format : trace_format_enum;
mutable plugins_dirs : file list;
mutable disable_warnings : bool;
mutable max_prec_digits : int;
mutable path_rewrite : raw_file -> file;
mutable stop_on_error : bool;
mutable no_fail_on_assert : bool;
mutable whole_program : bool;
}
Global options, common to all subcommands (note: the fields are internally mutable only for purposes of the globals
toplevel value defined below)
val options : options
A global definition to the global options is provided for convenience, e.g. choosing the proper output in formatting functions. Prefer the use of the options returned by the command-line parsing whenever possible.
val enforce_options :
?input_src:file input_src ->
?language:backend_lang option ->
?debug:bool ->
?color:when_enum ->
?message_format:message_format_enum ->
?trace:Stdlib.Format.formatter Stdlib.Lazy.t option ->
?trace_format:trace_format_enum ->
?plugins_dirs:file list ->
?disable_warnings:bool ->
?max_prec_digits:int ->
?path_rewrite:(raw_file -> file) ->
?stop_on_error:bool ->
?no_fail_on_assert:bool ->
?whole_program:bool ->
unit ->
options
Sets up the global options (side-effect); for specific use-cases only, this should never be called from the compiler outside of the Cli
module. Other proper uses include setting up the compiler library when using it directly through a specific front-end.
val raw_file : string -> raw_file
Create a raw_file
, for use directly after parsing from the cmdline