CBMC
goto_synthesizer_parse_options.h
Go to the documentation of this file.
1 /*******************************************************************\
2 Module: Command Line Parsing
3 Author: Qinheping Hu
4 \*******************************************************************/
5 
8 
9 #ifndef CPROVER_GOTO_SYNTHESIZER_GOTO_SYNTHESIZER_PARSE_OPTIONS_H
10 #define CPROVER_GOTO_SYNTHESIZER_GOTO_SYNTHESIZER_PARSE_OPTIONS_H
11 
12 #include <util/config.h>
13 #include <util/options.h>
14 #include <util/parse_options.h>
15 
17 
20 
21 #include "dump_loop_contracts.h"
22 
23 // clang-format off
24 #define GOTO_SYNTHESIZER_OPTIONS \
25  OPT_DUMP_LOOP_CONTRACTS \
26  "(" FLAG_LOOP_CONTRACTS_NO_UNWIND ")" \
27  OPT_CONFIG_BACKEND \
28  OPT_SOLVER \
29  "(arrays-uf-always)(arrays-uf-never)" \
30  "(verbosity):(version)(xml-ui)(json-ui)" \
31  // empty last line
32 
33 // clang-format on
34 
36 {
37 public:
38  int doit() override;
39  void help() override;
40 
41  goto_synthesizer_parse_optionst(int argc, const char **argv);
42 
43 protected:
44  void register_languages() override;
45 
46  int get_goto_program();
47 
48  // Get the options same as using CBMC api without any flags and set any
49  // options specified in the command line.
51 
53 };
54 
55 #endif // CPROVER_GOTO_SYNTHESIZER_GOTO_SYNTHESIZER_PARSE_OPTIONS_H
void help() override
display command line help
goto_synthesizer_parse_optionst(int argc, const char **argv)
int doit() override
invoke main modules
Verify and use annotated invariants and pre/post-conditions.
Dump Loop Contracts as JSON.
Symbol Table + CFG.
Options.
Solver Factory.