CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
dump_loop_contracts.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module: Dump Loop Contracts as JSON
4
5Author: Qinheping Hu, qinhh@amazon.com
6
7\*******************************************************************/
8
11
12#ifndef CPROVER_GOTO_SYNTHESIZER_DUMP_LOOP_CONTRACTS_H
13#define CPROVER_GOTO_SYNTHESIZER_DUMP_LOOP_CONTRACTS_H
14
15#include "synthesizer_utils.h"
16
17#include <iosfwd>
18#include <string>
19
21 goto_modelt &goto_model,
22 const std::map<loop_idt, exprt> &invariant_map,
23 const std::map<loop_idt, std::set<exprt>> &assigns_map,
24 const std::string &json_output_str,
25 std::ostream &out);
26
27#define OPT_DUMP_LOOP_CONTRACTS "(json-output):(dump-loop-contracts)"
28
29// clang-format off
30#define HELP_DUMP_LOOP_CONTRACTS \
31 " --dump-loop-contracts dump synthesized loop contracts as JSON\n" /* NOLINT(whitespace/line_length) */ \
32 " --json-output <file> specify the output destination of the dumped loop contracts\n" // NOLINT(*)
33
34// clang-format on
35
36#endif // CPROVER_GOTO_SYNTHESIZER_DUMP_LOOP_CONTRACTS_H
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition ai.h:562
void dump_loop_contracts(goto_modelt &goto_model, const std::map< loop_idt, exprt > &invariant_map, const std::map< loop_idt, std::set< exprt > > &assigns_map, const std::string &json_output_str, std::ostream &out)
Loop id used to identify loops.
Definition loop_ids.h:28