Go to the documentation of this file.
89 #ifndef CPROVER_GOTO_ANALYZER_GOTO_ANALYZER_PARSE_OPTIONS_H
90 #define CPROVER_GOTO_ANALYZER_GOTO_ANALYZER_PARSE_OPTIONS_H
110 #define GOTO_ANALYSER_OPTIONS_TASKS \
111 "(show)(verify)(simplify):" \
113 "(unreachable-instructions)(unreachable-functions)" \
114 "(reachable-functions)"
116 #define GOTO_ANALYSER_OPTIONS_AI \
117 "(recursive-interprocedural)" \
119 "(legacy-concurrent)"
121 #define GOTO_ANALYSER_OPTIONS_HISTORY \
126 "(loop-unwind-and-branching):"
128 #define GOTO_ANALYSER_OPTIONS_DOMAIN \
134 #define GOTO_ANALYSER_OPTIONS_STORAGE \
135 "(one-domain-per-history)" \
136 "(one-domain-per-location)"
138 #define GOTO_ANALYSER_OPTIONS_OUTPUT \
142 #define GOTO_ANALYSER_OPTIONS_SPECIFIC_ANALYSES \
143 "(taint):(show-taint)" \
144 "(show-local-may-alias)"
146 #define GOTO_ANALYSER_OPTIONS \
148 "D:I:(std89)(std99)(std11)" \
149 "(classpath):(cp):(main-class):" \
150 "(16)(32)(64)(LP64)(ILP64)(LLP64)(ILP32)(LP32)" \
151 "(little-endian)(big-endian)" \
152 OPT_SHOW_GOTO_FUNCTIONS \
153 OPT_SHOW_PROPERTIES \
156 "(show-symbol-table)(show-parse-tree)" \
157 "(show-reachable-properties)(property):" \
158 "(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 \
170 GOTO_ANALYSER_OPTIONS_STORAGE \
171 GOTO_ANALYSER_OPTIONS_OUTPUT \
172 GOTO_ANALYSER_OPTIONS_SPECIFIC_ANALYSES \
178 virtual int doit()
override;
179 virtual void help()
override;
197 #endif // CPROVER_GOTO_ANALYZER_GOTO_ANALYZER_PARSE_OPTIONS_H
virtual void get_command_line_options(optionst &options)
ai_baset * build_analyzer(const optionst &, const namespacet &ns)
For the task, build the appropriate kind of analyzer Ideally this should be a pure function of option...
goto_analyzer_parse_optionst(int argc, const char **argv)
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
virtual bool process_goto_program(const optionst &options)
virtual int doit() override
invoke main modules
Abstract interface to support a programming language.
virtual void help() override
display command line help
virtual void register_languages()
A collection of goto functions.
This is the basic interface of the abstract interpreter with default implementations of the core func...
virtual int perform_analysis(const optionst &options)
Depending on the command line mode, run one of the analysis tasks.