#include "expr_util.h"#include "arith_tools.h"#include "bitvector_expr.h"#include "byte_operators.h"#include "c_types.h"#include "config.h"#include "expr_iterator.h"#include "namespace.h"#include "pointer_expr.h"#include "pointer_offset_size.h"#include <algorithm>#include <unordered_set>Go to the source code of this file.
negate a Boolean expression, possibly removing a not_exprt, and swapping false and true
Definition at line 98 of file expr_util.cpp.
returns true if the expression has a subexpression that satisfies pred
Definition at line 110 of file expr_util.cpp.
returns true if the expression has a subexpression with given ID
Definition at line 118 of file expr_util.cpp.
returns true if any of the contained types is id
Definition at line 166 of file expr_util.cpp.
returns true if any of the contained types satisfies pred
type satisfies predicate pred. The meaning of "subtype" is in the algebraic datatype sense: for example, the subtypes of a struct are the types of its components, the subtype of a pointer is the type it points to, etc... For instance in the type t defined by { int a; char[] b; double * c; { bool d} e}, int, char, double and bool are subtypes of t. Definition at line 124 of file expr_util.cpp.
Returns true iff the argument is one of the following:
Definition at line 24 of file expr_util.cpp.
converts a scalar/float expression to C/C++ Booleans
Definition at line 69 of file expr_util.cpp.
lift up an if_exprt one level
Definition at line 172 of file expr_util.cpp.
Conjunction of two expressions.
If the second is already an and_exprt add to its operands instead of creating a new expression. If one is true, return the other expression. If one is false returns false.
Definition at line 316 of file expr_util.cpp.
splits an expression with >=3 operands into nested binary expressions
Definition at line 38 of file expr_util.cpp.
returns true_exprt if given true and false_exprt otherwise
Definition at line 308 of file expr_util.cpp.