38 "expected pointed-to expression not to be a symbol");
41 "expected pointed-to expression to have at least one operand");
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Expression in which some part is missing and can be substituted for another expression.
exprt apply(exprt expr) const
Replace the missing part by the given expression, to end-up with a complete expression.
expr_skeletont()
Empty skeleton.
expr_skeletont compose(expr_skeletont other) const
Replace the missing part of the current skeleton by another skeleton, ending in a bigger skeleton cor...
static expr_skeletont remove_op0(exprt e)
Create a skeleton by removing the first operand of e.
exprt skeleton
In skeleton, nil_exprt is used to mark the sub expression to be substituted.
Base class for all expressions.
const irep_idt & id() const
#define PRECONDITION(CONDITION)
#define INVARIANT(CONDITION, REASON)
This macro uses the wrapper function 'invariant_violated_string'.
API to expression classes.
const multi_ary_exprt & to_multi_ary_expr(const exprt &expr)
Cast an exprt to a multi_ary_exprt.