CBMC
dump_c.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Dump C from Goto Program
4 
5 Author: Daniel Kroening, kroening@kroening.com
6 
7 \*******************************************************************/
8 
11 
12 #ifndef CPROVER_GOTO_INSTRUMENT_DUMP_C_H
13 #define CPROVER_GOTO_INSTRUMENT_DUMP_C_H
14 
15 #include <iosfwd>
16 #include <string>
17 
18 class goto_functionst;
19 class namespacet;
20 
21 void dump_c(
22  const goto_functionst &src,
23  const bool use_system_headers,
24  const bool use_all_headers,
25  const bool include_harness,
26  const namespacet &ns,
27  std::ostream &out);
28 
30  const goto_functionst &src,
31  const bool use_system_headers,
32  const bool use_all_headers,
33  const bool include_harness,
34  const namespacet &ns,
35  const std::string module,
36  std::ostream &out);
37 
38 void dump_cpp(
39  const goto_functionst &src,
40  const bool use_system_headers,
41  const bool use_all_headers,
42  const bool include_harness,
43  const namespacet &ns,
44  std::ostream &out);
45 
46 #define OPT_DUMP_C \
47  "(dump-c)(dump-cpp)" \
48  "(dump-c-type-header):" \
49  "(no-system-headers)(use-all-headers)(harness)"
50 
51 // clang-format off
52 #define HELP_DUMP_C \
53  " --dump-c generate C source\n" \
54  " --dump-c-type-header m generate a C header for types local in m\n" \
55  " --dump-cpp generate C++ source\n" \
56  " --no-system-headers generate C source expanding libc includes\n"\
57  " --use-all-headers generate C source with all includes\n" \
58  " --harness include input generator in output\n"
59 
60 // clang-format on
61 
62 #endif // CPROVER_GOTO_INSTRUMENT_DUMP_C_H
dump_c
void dump_c(const goto_functionst &src, const bool use_system_headers, const bool use_all_headers, const bool include_harness, const namespacet &ns, std::ostream &out)
Definition: dump_c.cpp:1591
namespacet
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition: namespace.h:90
dump_cpp
void dump_cpp(const goto_functionst &src, const bool use_system_headers, const bool use_all_headers, const bool include_harness, const namespacet &ns, std::ostream &out)
Definition: dump_c.cpp:1604
dump_c_type_header
void dump_c_type_header(const goto_functionst &src, const bool use_system_headers, const bool use_all_headers, const bool include_harness, const namespacet &ns, const std::string module, std::ostream &out)
Definition: dump_c.cpp:1626
goto_functionst
A collection of goto functions.
Definition: goto_functions.h:24