10 #ifndef CPROVER_UTIL_SYMBOL_H
11 #define CPROVER_UTIL_SYMBOL_H
88 :
type(std::move(_type)),
97 void show(std::ostream &out)
const;
Internally generated symbol table entryThis is a symbol generated as part of translation to or modifi...
auxiliary_symbolt(const irep_idt &name, typet type, const irep_idt &mode)
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Base class for all expressions.
const irep_idt & id() const
Symbol table entry of function parameterThis is a symbol generated as part of type checking.
Expression to hold a symbol (variable)
irep_idt base_name
Base (non-scoped) name.
void swap(symbolt &b)
Swap values between two symbols.
const irep_idt & display_name() const
Return language specific display name if present.
bool operator==(const symbolt &other) const
void show(std::ostream &out) const
Dump the state of a symbol object to a given output stream.
bool is_well_formed() const
Check that a symbol is well formed.
irep_idt module
Name of module the symbol belongs to.
symbolt(const irep_idt &_name, typet _type, const irep_idt &_mode)
void set_compiled()
Set the symbol's value to "compiled"; to be used once the code-typed value has been converted to a go...
source_locationt location
Source code location of definition of symbol.
bool is_compiled() const
Returns true iff the the symbol's value has been compiled to a goto program.
class symbol_exprt symbol_expr() const
Produces a symbol_exprt for a symbol.
typet type
Type of symbol.
irep_idt name
The unique identifier.
irep_idt pretty_name
Language-specific display name.
bool operator!=(const symbolt &other) const
exprt value
Initial value of symbol.
irep_idt mode
Language mode.
Symbol table entry describing a data typeThis is a symbol generated as part of type checking.
type_symbolt(const irep_idt &_name, typet _type, const irep_idt &_mode)
The type of an expression, extends irept.
const irept & get_nil_irep()
#define PRECONDITION(CONDITION)
std::ostream & operator<<(std::ostream &out, const symbolt &symbol)
Overload of stream operator to work with symbols.