CBMC
c_test_input_generator.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Test Input Generator for C
4 
5 Author: Daniel Kroening, Peter Schrammel
6 
7 \*******************************************************************/
8 
11 
12 #ifndef CPROVER_CBMC_C_TEST_INPUT_GENERATOR_H
13 #define CPROVER_CBMC_C_TEST_INPUT_GENERATOR_H
14 
15 #include <iosfwd>
16 
17 #include <util/xml.h>
18 
19 class goto_tracet;
21 class json_objectt;
22 class namespacet;
23 class optionst;
25 
27 {
28 public:
30  void output_plain_text(
31  std::ostream &out,
32  const namespacet &ns,
33  const goto_tracet &goto_trace) const;
34 
38  const namespacet &ns,
39  const goto_tracet &goto_trace,
40  bool print_trace) const;
41 
44  xmlt to_xml(
45  const namespacet &ns,
46  const goto_tracet &goto_trace,
47  bool print_trace) const;
48 };
49 
51 {
52 public:
55  const optionst &options);
56 
58  void operator()(const goto_trace_storaget &);
59 
60 protected:
62  const optionst &options;
63 
65  test_inputst operator()(const goto_tracet &goto_trace, const namespacet &ns);
66 };
67 
68 #endif // CPROVER_CBMC_C_TEST_INPUT_GENERATOR_H
c_test_input_generatort(ui_message_handlert &ui_message_handler, const optionst &options)
ui_message_handlert & ui_message_handler
void operator()(const goto_trace_storaget &)
Extracts test inputs for all traces and outputs them.
Trace of a GOTO program.
Definition: goto_trace.h:177
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition: namespace.h:94
xmlt to_xml(const namespacet &ns, const goto_tracet &goto_trace, bool print_trace) const
Returns the test inputs in XML format including the trace if desired.
void output_plain_text(std::ostream &out, const namespacet &ns, const goto_tracet &goto_trace) const
Outputs the test inputs in plain text format.
json_objectt to_json(const namespacet &ns, const goto_tracet &goto_trace, bool print_trace) const
Returns the test inputs in JSON format including the trace if desired.
Definition: xml.h:21