Module Mlang.Cli

Command line arguments parsing

val mlang_t : (string list -> bool -> bool -> string list -> bool -> string -> bool -> string option -> string option -> string -> string option -> string option -> bool -> string option -> string -> bool -> bool -> bool -> string option -> string option -> float option -> bool -> string list option -> (string * string) option -> 'a) -> 'a Cmdliner.Term.t

Mlang binary command-line arguments parsing function

val info : Cmdliner.Cmd.info

Command-line man page for --help

Flags and parameters

type value_sort =
| RegularFloat
| MPFR of int

bitsize of the floats

| BigInt of int

precision of the fixed point

| Interval
| Rational

According on the value_sort, a specific interpreter will be called with the right kind of floating-point value

type round_ops =
| RODefault
| ROMulti
| ROMainframe of int

size of type long, either 32 or 64

Rounding operations to use in the interpreter. They correspond to the rounding operations used by the DGFiP calculator in different execution contexts.

  • RODefault: rounding operations used in the PC/single-thread context
  • ROMulti: rouding operations used in the PC/multi-thread context
  • ROMainframe rounding operations used in the mainframe context
val source_files : string list Stdlib.ref

M source files to be compiled

val dep_graph_file : string Stdlib.ref

Prefix for dependency graph output files

val verify_flag : bool Stdlib.ref

Use Z3 to check if verif rules hold all the time

val debug_flag : bool Stdlib.ref

Prints debug information

val var_info_flag : bool Stdlib.ref

Print infomation about variables declared, defined ou used incorrectly

val var_info_debug : string list Stdlib.ref

Prints even more information but only about some variables members of a list

val warning_flag : bool Stdlib.ref

Print warning info

val no_print_cycles_flag : bool Stdlib.ref

Dump circular definitions of variables

val display_time : bool Stdlib.ref

Displays timing information

val output_file : string Stdlib.ref

Output file

val optimize_unsafe_float : bool Stdlib.ref

Activate unsafe floating point optimizations

val m_clean_calls : bool Stdlib.ref

Clean regular variables between M calls

val value_sort : value_sort Stdlib.ref
val round_ops : round_ops Stdlib.ref
val set_all_arg_refs : string list -> bool -> bool -> string list -> bool -> string -> bool -> string option -> bool -> bool -> value_sort -> round_ops -> unit
val add_prefix_to_each_line : string -> (int -> string) -> string

add_prefix_to_each_line msg prefix will print msg but each line with line number i starts with the string prefix i

Printers

val format_with_style : ANSITerminal.style list -> ('a, unit, string) Stdlib.format -> 'a
val var_info_print : ('a, Stdlib.Format.formatter, unit, unit) Stdlib.format4 -> 'a
val debug_print : ?⁠endline:string -> ('a, Stdlib.Format.formatter, unit, unit) Stdlib.format4 -> 'a
val warning_print : ('a, Stdlib.Format.formatter, unit, unit) Stdlib.format4 -> 'a
val error_print : ('a, Stdlib.Format.formatter, unit, unit) Stdlib.format4 -> 'a
val result_print : ('a, Stdlib.Format.formatter, unit, unit) Stdlib.format4 -> 'a
val create_progress_bar : string -> (string -> unit) * (string -> unit)

Returns two functions: the first one, current_progress, has to be called during the progress loop and the other one, finish, has to be called at the end of the progressive task.