89 #ifndef CPROVER_GOTO_ANALYZER_GOTO_ANALYZER_PARSE_OPTIONS_H
90 #define CPROVER_GOTO_ANALYZER_GOTO_ANALYZER_PARSE_OPTIONS_H
109 #define GOTO_ANALYSER_OPTIONS_TASKS \
110 "(show)(verify)(simplify):" \
112 "(unreachable-instructions)(unreachable-functions)" \
113 "(reachable-functions)" \
114 "(no-standard-checks)"
116 #define GOTO_ANALYSER_OPTIONS_AI \
117 "(recursive-interprocedural)" \
118 "(three-way-merge)" \
120 "(legacy-concurrent)"
122 #define GOTO_ANALYSER_OPTIONS_HISTORY \
127 "(loop-unwind-and-branching):"
129 #define GOTO_ANALYSER_OPTIONS_DOMAIN \
133 "(dependence-graph)" \
134 "(vsd)(variable-sensitivity)" \
135 "(dependence-graph-vs)" \
137 #define GOTO_ANALYSER_OPTIONS_STORAGE \
138 "(one-domain-per-history)" \
139 "(one-domain-per-location)"
141 #define GOTO_ANALYSER_OPTIONS_OUTPUT \
145 #define GOTO_ANALYSER_OPTIONS_SPECIFIC_ANALYSES \
146 "(taint):(show-taint)" \
147 "(show-local-may-alias)"
149 #define GOTO_ANALYSER_OPTIONS \
152 OPT_CONFIG_PLATFORM \
153 OPT_SHOW_GOTO_FUNCTIONS \
154 OPT_SHOW_PROPERTIES \
157 "(show-symbol-table)(show-parse-tree)" \
159 "(verbosity):(version)" \
163 GOTO_ANALYSER_OPTIONS_TASKS \
164 "(no-simplify-slicing)" \
165 "(show-intervals)(show-non-null)" \
166 GOTO_ANALYSER_OPTIONS_AI \
167 "(location-sensitive)(concurrent)" \
168 GOTO_ANALYSER_OPTIONS_HISTORY \
169 GOTO_ANALYSER_OPTIONS_DOMAIN \
171 GOTO_ANALYSER_OPTIONS_STORAGE \
172 GOTO_ANALYSER_OPTIONS_OUTPUT \
173 GOTO_ANALYSER_OPTIONS_SPECIFIC_ANALYSES \
179 virtual int doit()
override;
180 virtual void help()
override;
virtual int doit() override
invoke main modules
virtual void get_command_line_options(optionst &options)
goto_analyzer_parse_optionst(int argc, const char **argv)
virtual bool process_goto_program(const optionst &options)
void register_languages() override
virtual int perform_analysis(const optionst &options)
Depending on the command line mode, run one of the analysis tasks.
virtual void help() override
display command line help
static void set_default_analysis_flags(optionst &options, const bool enabled)
Abstract interface to support a programming language.
There are different ways of handling arrays, structures, unions and pointers.