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 
20 
21 class goto_modelt;
22 
23 // convert it all!
24 void goto_convert(
26  goto_functionst &functions,
28 
29 // convert it all!
31 
32 // just convert a specific function
33 void goto_convert(
34  const irep_idt &identifier,
36  goto_functionst &functions,
38 
40 {
41 public:
42  void goto_convert(goto_functionst &functions);
43  void convert_function(
44  const irep_idt &identifier,
46 
48  symbol_table_baset &_symbol_table,
49  message_handlert &_message_handler);
50 
51  virtual ~goto_convert_functionst();
52 
53 protected:
54  static bool hide(const goto_programt &);
55 
56  //
57  // function calls
58  //
59  void add_return(
61  const typet &return_type,
62  const source_locationt &);
63 };
64 
65 #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:401
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.