40 for(jsil_parse_treet::itemst::const_iterator
41 it=parse_tree.
items.begin();
42 it!=parse_tree.
items.end();
46 it->to_symbol(new_symbol);
54 if(s.
value.
id()==
"no-body-just-yet")
61 error() <<
"duplicate symbol " << new_symbol.
name <<
eom;
81 if(a.
rhs().
id()==ID_with)
101 else if(a.
rhs().
id()==ID_side_effect &&
109 f.function().swap(f_expr.
function());
141 catch(
const std::string &e)
const irep_idt & get_statement() const
side_effect_expr_function_callt & to_side_effect_expr_function_call(exprt &expr)
irep_idt name
The unique identifier.
bool operator()(const jsil_parse_treet &parse_tree)
exprt value
Initial value of symbol.
Symbol table entry.This is a symbol in the symbol table, stored in an object of type symbol_tablet...
static mstreamt & eom(mstreamt &m)
side_effect_exprt & to_side_effect_expr(exprt &expr)
const code_assignt & to_code_assign(const codet &code)
const irep_idt & id() const
A declaration of a local variable.
const symbol_exprt & to_symbol_expr(const exprt &expr)
Cast a generic exprt to a symbol_exprt.
dstringt has one field, an unsigned integer no which is an index into a static table of strings...
A function call side effect.
bool convert_code(const symbolt &symbol, codet &code)
symbol_tablet & symbol_table
bool remove(const irep_idt &name)
Remove a symbol from the symbol table.
Base class for all expressions.
const source_locationt & source_location() const
Jsil Language Conversion.
bool jsil_convert(const jsil_parse_treet &parse_tree, symbol_tablet &symbol_table, message_handlert &message_handler)
exprt::operandst & arguments()
#define Forall_operands(it, expr)
source_locationt & add_source_location()
const codet & to_code(const exprt &expr)
jsil_convertt(symbol_tablet &_symbol_table, message_handlert &_message_handler)
Expression to hold a symbol (variable)
bool add(const symbolt &symbol)
Add a new symbol to the symbol table.
goto_programt coverage_criteriont message_handlert & message_handler
A statement in a programming language.
const symbolt * lookup(const irep_idt &name) const
Find a symbol in the symbol table for read-only access.
void add_catch(const code_declt &to_catch, const codet &code_catch)