Module Goblint_lib.Maingoblint

Main external executable functionality: command-line, front-end and analysis execution.

val writeconffile : Fpath.t option Batteries.ref
val print_version : 'a -> 'b

Print version and bail.

val print_help : 'a BatInnerIO.output -> 'b

Print helpful messages.

val option_spec_list : Arg_complete.speclist Stdlib.Lazy.t

Arg option specification

val rest_all_complete : Arg_complete.Rest_all_compat.t Stdlib.Lazy.t
val complete : string list -> unit
val check_arguments : unit -> unit
val handle_flags : unit -> unit

Initialize some globals in other modules.

val handle_options : unit -> unit
val parse_arguments : unit -> unit

Parse arguments. Print help if needed.

exception FrontendError of string
val basic_preprocess_counts : int Preprocessor.FpathH.t
val basic_preprocess : ?preprocess:bool -> all_cppflags:string list -> Preprocessor.FpathH.key -> Preprocessor.FpathH.key * ProcessPool.task option

Use gcc to preprocess a file. Returns the path to the preprocessed file.

val preprocess_files : unit -> (Preprocessor.FpathH.key * ProcessPool.task option) list

Preprocess all files. Return list of preprocessed files and the temp directory name.

val special_path_regexp : Str.regexp

Regex for special "paths" in cpp output: <built-in>, <command-line>, but also translations!

val parse_preprocessed : (Preprocessor.FpathH.key * ProcessPool.task option) list -> GoblintCil__.Cil.file list

Parse preprocessed files

val merge_parsed : GoblintCil__.Cil.file list -> GoblintCil.file

Merge parsed files

val preprocess_parse_merge : unit -> GoblintCil.file
val do_stats : unit -> unit
val reset_stats : unit -> unit
val do_analyze : Analyses.increment_data option -> GoblintCil.file -> unit

Perform the analysis over the merged AST.

val do_html_output : unit -> unit
val do_gobview : 'a -> unit
val handle_extraspecials : unit -> unit
val diff_and_rename : GoblintCil.file -> Analyses.increment_data option