CBMC
goto_convert_functions.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Goto Programs with Functions
4 
5 Author: Daniel Kroening
6 
7 Date: June 2003
8 
9 \*******************************************************************/
10 
13 
14 #ifndef CPROVER_GOTO_PROGRAMS_GOTO_CONVERT_FUNCTIONS_H
15 #define CPROVER_GOTO_PROGRAMS_GOTO_CONVERT_FUNCTIONS_H
16 
17 #include "goto_convert_class.h"
18 #include "goto_functions.h"
19 
20 class goto_modelt;
21 
22 // convert it all!
23 void goto_convert(
25  goto_functionst &functions,
27 
28 // convert it all!
29 void goto_convert(
30  goto_modelt &,
32 
33 // just convert a specific function
34 void goto_convert(
35  const irep_idt &identifier,
37  goto_functionst &functions,
39 
41 {
42 public:
43  void goto_convert(goto_functionst &functions);
44  void convert_function(
45  const irep_idt &identifier,
47 
49  symbol_table_baset &_symbol_table,
50  message_handlert &_message_handler);
51 
52  virtual ~goto_convert_functionst();
53 
54 protected:
55  static bool hide(const goto_programt &);
56 
57  //
58  // function calls
59  //
60  void add_return(
62  const typet &return_type,
63  const source_locationt &);
64 };
65 
66 #endif // CPROVER_GOTO_PROGRAMS_GOTO_CONVERT_FUNCTIONS_H
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Definition: dstring.h:38
goto_convert_functionst(symbol_table_baset &_symbol_table, message_handlert &_message_handler)
void add_return(goto_functionst::goto_functiont &, const typet &return_type, const source_locationt &)
void goto_convert(goto_functionst &functions)
void convert_function(const irep_idt &identifier, goto_functionst::goto_functiont &result)
static bool hide(const goto_programt &)
A collection of goto functions.
::goto_functiont goto_functiont
symbol_tablet symbol_table
Symbol table.
Definition: goto_model.h:31
A generic container class for the GOTO intermediate representation of one function.
Definition: goto_program.h:73
mstreamt & result() const
Definition: message.h:409
The symbol table base class interface.
The type of an expression, extends irept.
Definition: type.h:29
Program Transformation.
void goto_convert(symbol_table_baset &symbol_table, goto_functionst &functions, message_handlert &)
Goto Programs with Functions.