cprover
symbol_table.h File Reference

Symbol table. More...

#include <iosfwd>
#include <map>
#include <unordered_map>
#include "symbol.h"
Include dependency graph for symbol_table.h:

Go to the source code of this file.

Classes

class  symbol_tablet
 The symbol table. More...
 

Macros

#define forall_symbols(it, expr)
 
#define Forall_symbols(it, expr)
 
#define forall_symbol_base_map(it, expr, base_name)
 
#define forall_symbol_module_map(it, expr, module)
 

Typedefs

typedef std::multimap< irep_idt, irep_idtsymbol_base_mapt
 
typedef std::multimap< irep_idt, irep_idtsymbol_module_mapt
 

Functions

std::ostream & operator<< (std::ostream &out, const symbol_tablet &symbol_table)
 Print the contents of the symbol table. More...
 

Detailed Description

Symbol table.

Author
Daniel Kroening kroen.nosp@m.ing@.nosp@m.kroen.nosp@m.ing..nosp@m.com

Definition in file symbol_table.h.

Macro Definition Documentation

◆ forall_symbol_base_map

#define forall_symbol_base_map (   it,
  expr,
  base_name 
)
Value:
for(symbol_base_mapt::const_iterator it=(expr).lower_bound(base_name), \
it_end=(expr).upper_bound(base_name); \
it!=it_end; ++it)

Definition at line 39 of file symbol_table.h.

Referenced by ansi_c_entry_point(), get_isr(), get_module_by_name(), and jsil_entry_point().

◆ forall_symbol_module_map

#define forall_symbol_module_map (   it,
  expr,
  module 
)
Value:
for(symbol_module_mapt::const_iterator it=(expr).lower_bound(module), \
it_end=(expr).upper_bound(module); \
it!=it_end; ++it)

Definition at line 44 of file symbol_table.h.

◆ forall_symbols

◆ Forall_symbols

#define Forall_symbols (   it,
  expr 
)
Value:
for(symbol_tablet::symbolst::iterator it=(expr).begin(); \
it!=(expr).end(); ++it)

Definition at line 32 of file symbol_table.h.

Referenced by add_failed_symbols(), compilet::convert_symbols(), linkingt::copy_symbols(), cpp_typecheckt::do_not_typechecked(), goto_convert_functionst::goto_convert(), dump_ct::operator()(), remove_complex(), and remove_vector().

Typedef Documentation

◆ symbol_base_mapt

typedef std::multimap<irep_idt, irep_idt> symbol_base_mapt

Definition at line 36 of file symbol_table.h.

◆ symbol_module_mapt

typedef std::multimap<irep_idt, irep_idt> symbol_module_mapt

Definition at line 37 of file symbol_table.h.

Function Documentation

◆ operator<<()

std::ostream& operator<< ( std::ostream &  out,
const symbol_tablet symbol_table 
)

Print the contents of the symbol table.

Parameters
outThe ostream to direct output to
symbol_tableThe symbol table to print out

Definition at line 148 of file symbol_table.cpp.

References symbol_tablet::show().