cprover
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_model.h"
18 #include "goto_convert_class.h"
19 #include "goto_functions.h"
20 
21 // convert it all!
22 void goto_convert(
23  symbol_table_baset &symbol_table,
24  goto_functionst &functions,
26 
27 // convert it all!
28 void goto_convert(
29  goto_modelt &,
31 
32 // just convert a specific function
33 void goto_convert(
34  const irep_idt &identifier,
35  symbol_table_baset &symbol_table,
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 source_locationt &);
62 };
63 
64 #endif // CPROVER_GOTO_PROGRAMS_GOTO_CONVERT_FUNCTIONS_H
dstringt
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Definition: dstring.h:37
goto_convert_functionst::add_return
void add_return(goto_functionst::goto_functiont &, const source_locationt &)
Definition: goto_convert_functions.cpp:88
goto_convert_functionst::convert_function
void convert_function(const irep_idt &identifier, goto_functionst::goto_functiont &result)
Definition: goto_convert_functions.cpp:142
goto_convert_class.h
Program Transformation.
goto_model.h
Symbol Table + CFG.
goto_modelt
Definition: goto_model.h:26
goto_convert_functionst::goto_convert
void goto_convert(goto_functionst &functions)
Definition: goto_convert_functions.cpp:34
messaget::result
mstreamt & result() const
Definition: message.h:409
goto_convertt
Definition: goto_convert_class.h:29
symbol_table_baset
The symbol table base class interface.
Definition: symbol_table_base.h:22
goto_convert_functionst
Definition: goto_convert_functions.h:40
message_handlert
Definition: message.h:28
source_locationt
Definition: source_location.h:20
goto_functionst::goto_functiont
::goto_functiont goto_functiont
Definition: goto_functions.h:25
goto_functionst
A collection of goto functions.
Definition: goto_functions.h:23
goto_convert_functionst::~goto_convert_functionst
virtual ~goto_convert_functionst()
Definition: goto_convert_functions.cpp:30
goto_functions.h
Goto Programs with Functions.
goto_programt
A generic container class for the GOTO intermediate representation of one function.
Definition: goto_program.h:73
goto_convert_functionst::goto_convert_functionst
goto_convert_functionst(symbol_table_baset &_symbol_table, message_handlert &_message_handler)
Definition: goto_convert_functions.cpp:23
goto_convert_functionst::hide
static bool hide(const goto_programt &)
Definition: goto_convert_functions.cpp:76
goto_convert
void goto_convert(symbol_table_baset &symbol_table, goto_functionst &functions, message_handlert &)
Definition: goto_convert_functions.cpp:246