cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
cbmc_parse_options.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: CBMC Command Line Option Processing
4
5
Author: Daniel Kroening, kroening@kroening.com
6
7
\*******************************************************************/
8
11
12
#ifndef CPROVER_CBMC_CBMC_PARSE_OPTIONS_H
13
#define CPROVER_CBMC_CBMC_PARSE_OPTIONS_H
14
15
#include <
util/parse_options.h
>
16
#include <
util/timestamper.h
>
17
#include <
util/ui_message.h
>
18
#include <
util/validation_interface.h
>
19
20
#include <
goto-programs/goto_model.h
>
21
#include <
goto-programs/goto_trace.h
>
22
23
#include <
ansi-c/ansi_c_language.h
>
24
#include <
ansi-c/goto-conversion/goto_check_c.h
>
25
#include <
goto-checker/bmc_util.h
>
26
#include <
goto-instrument/cover.h
>
27
#include <
json/json_interface.h
>
28
#include <
langapi/language.h
>
29
#include <
solvers/strings/string_refinement.h
>
30
#include <
xmllang/xml_interface.h
>
31
32
class
optionst
;
33
34
// clang-format off
35
#define CBMC_OPTIONS \
36
OPT_BMC \
37
"(no-standard-checks)" \
38
"(preprocess)(slice-by-trace):" \
39
OPT_FUNCTIONS \
40
"(no-simplify)(full-slice)" \
41
OPT_REACHABILITY_SLICER \
42
"(no-propagation)(no-simplify-if)" \
43
"(document-subgoals)(test-preprocessor)" \
44
"(show-array-constraints)" \
45
OPT_CONFIG_C_CPP \
46
OPT_CONFIG_PLATFORM \
47
OPT_CONFIG_BACKEND \
48
OPT_CONFIG_LIBRARY \
49
OPT_GOTO_CHECK \
50
OPT_XML_INTERFACE \
51
OPT_JSON_INTERFACE \
52
OPT_SOLVER \
53
OPT_STRING_REFINEMENT_CBMC \
54
OPT_SHOW_GOTO_FUNCTIONS \
55
OPT_SHOW_PROPERTIES \
56
"(show-symbol-table)(show-parse-tree)" \
57
"(drop-unused-functions)" \
58
"(property):(stop-on-fail)(trace)" \
59
"(verbosity):(no-library)" \
60
"(nondet-static)" \
61
"(version)" \
62
"(export-symex-ready-goto):" \
63
OPT_COVER \
64
"(symex-coverage-report):" \
65
"(mm):" \
66
OPT_TIMESTAMP \
67
"(arrays-uf-always)(arrays-uf-never)" \
68
OPT_FLUSH \
69
"(localize-faults)" \
70
OPT_GOTO_TRACE \
71
OPT_VALIDATE \
72
OPT_ANSI_C_LANGUAGE \
73
"(claim):(show-claims)(floatbv)(all-claims)(all-properties)"
// legacy, and will eventually disappear // NOLINT(whitespace/line_length)
74
// clang-format on
75
76
class
cbmc_parse_optionst
:
public
parse_options_baset
77
{
78
public
:
79
virtual
int
doit
()
override
;
80
virtual
void
help
()
override
;
81
82
cbmc_parse_optionst
(
int
argc,
const
char
**argv);
83
cbmc_parse_optionst
(
84
int
argc,
85
const
char
**argv,
86
const
std::string &extra_options);
87
92
static
void
set_default_options
(
optionst
&);
93
98
static
void
set_default_analysis_flags
(
optionst
&,
const
bool
enabled);
99
static
bool
process_goto_program
(
goto_modelt
&,
const
optionst
&,
messaget
&);
100
101
static
int
get_goto_program
(
102
goto_modelt
&,
103
const
optionst
&,
104
const
cmdlinet
&,
105
ui_message_handlert
&);
106
107
protected
:
108
goto_modelt
goto_model
;
109
110
void
register_languages
()
override
;
111
void
get_command_line_options
(
optionst
&);
112
void
preprocessing
(
const
optionst
&);
113
bool
set_properties
();
114
};
115
116
#endif
// CPROVER_CBMC_CBMC_PARSE_OPTIONS_H
ansi_c_language.h
bmc_util.h
Bounded Model Checking Utilities.
cbmc_parse_optionst::goto_model
goto_modelt goto_model
Definition
cbmc_parse_options.h:108
cbmc_parse_optionst::doit
virtual int doit() override
invoke main modules
Definition
cbmc_parse_options.cpp:487
cbmc_parse_optionst::process_goto_program
static bool process_goto_program(goto_modelt &, const optionst &, messaget &)
Definition
cbmc_parse_options.cpp:878
cbmc_parse_optionst::set_default_options
static void set_default_options(optionst &)
Set the options that have default values.
Definition
cbmc_parse_options.cpp:93
cbmc_parse_optionst::get_goto_program
static int get_goto_program(goto_modelt &, const optionst &, const cmdlinet &, ui_message_handlert &)
Definition
cbmc_parse_options.cpp:793
cbmc_parse_optionst::get_command_line_options
void get_command_line_options(optionst &)
Definition
cbmc_parse_options.cpp:144
cbmc_parse_optionst::register_languages
void register_languages() override
Definition
cbmc_languages.cpp:21
cbmc_parse_optionst::preprocessing
void preprocessing(const optionst &)
Definition
cbmc_parse_options.cpp:846
cbmc_parse_optionst::set_default_analysis_flags
static void set_default_analysis_flags(optionst &, const bool enabled)
Setup default analysis flags.
Definition
cbmc_parse_options.cpp:109
cbmc_parse_optionst::help
virtual void help() override
display command line help
Definition
cbmc_parse_options.cpp:1005
cbmc_parse_optionst::cbmc_parse_optionst
cbmc_parse_optionst(int argc, const char **argv)
Definition
cbmc_parse_options.cpp:68
cbmc_parse_optionst::set_properties
bool set_properties()
Definition
cbmc_parse_options.cpp:782
cmdlinet
Definition
cmdline.h:20
goto_modelt
Definition
goto_model.h:27
messaget
Class that provides messages with a built-in verbosity 'level'.
Definition
message.h:154
optionst
Definition
options.h:23
parse_options_baset::parse_options_baset
parse_options_baset(const std::string &optstring, int argc, const char **argv, const std::string &program)
Definition
parse_options.cpp:28
ui_message_handlert
Definition
ui_message.h:22
cover.h
Coverage Instrumentation.
goto_check_c.h
Program Transformation.
goto_model.h
Symbol Table + CFG.
goto_trace.h
Traces of GOTO Programs.
json_interface.h
JSON Commandline Interface.
language.h
Abstract interface to support a programming language.
parse_options.h
string_refinement.h
String support via creating string constraints and progressively instantiating the universal constrai...
timestamper.h
Emit timestamps.
ui_message.h
validation_interface.h
xml_interface.h
XML Interface.
cbmc
cbmc_parse_options.h
Generated by
1.17.0