23 if(expr.
id()==ID_index)
26 throw "index takes two operands";
36 else if(expr.
id()==ID_symbol)
41 else if(expr.
id()==ID_string_constant)
43 return "string constant";
45 else if(expr.
id()==ID_member)
const std::string & id2string(const irep_idt &d)
Symbol table entry.This is a symbol in the symbol table, stored in an object of type symbol_tablet...
const irep_idt & id() const
const ssa_exprt & to_ssa_expr(const exprt &expr)
Cast a generic exprt to an ssa_exprt.
const symbol_exprt & to_symbol_expr(const exprt &expr)
Cast a generic exprt to a symbol_exprt.
Base class for all expressions.
irep_idt base_name
Base (non-scoped) name.
bool is_ssa_expr(const exprt &expr)
const std::string & get_string(const irep_namet &name) const
bool lookup(const irep_idt &name, const symbolt *&symbol) const override
See namespace_baset::lookup().
std::string array_name(const namespacet &ns, const exprt &expr)