CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
system_library_symbols.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module: Goto Programs
4
5Author: Thomas Kiley
6
7\*******************************************************************/
8
11
12#ifndef CPROVER_GOTO_PROGRAMS_SYSTEM_LIBRARY_SYMBOLS_H
13#define CPROVER_GOTO_PROGRAMS_SYSTEM_LIBRARY_SYMBOLS_H
14
15#include <list>
16#include <map>
17#include <set>
18#include <string>
19#include <util/irep.h>
20
21class symbolt;
22
24{
25public:
26 explicit system_library_symbolst(bool init);
27
29 system_library_symbolst(true) // NOLINT(runtime/explicit)
30 {
31 }
32
34 const symbolt &symbol,
35 std::set<std::string> &out_system_headers) const;
36
38 {
40 }
41
42private:
44
47 std::list<irep_idt> symbols);
48
49 std::map<irep_idt, irep_idt> system_library_map;
51};
52
53#endif // CPROVER_GOTO_PROGRAMS_SYSTEM_LIBRARY_SYMBOLS_H
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition ai.h:562
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Definition dstring.h:38
Symbol table entry.
Definition symbol.h:28
void add_to_system_library(irep_idt header_file, std::list< irep_idt > symbols)
To add the symbols from a specific header file to the system library map.
void init_system_library_map()
To generate a map of header file names -> list of symbols The symbol names are reserved as the header...
bool is_symbol_internal_symbol(const symbolt &symbol, std::set< std::string > &out_system_headers) const
To find out if a symbol is an internal symbol.
std::map< irep_idt, irep_idt > system_library_map