CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
expr_skeleton.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module: Symbolic Execution
4
5Author: Romain Brenguier, romain.brenguier@diffblue.com
6
7\*******************************************************************/
8
11
12#ifndef CPROVER_GOTO_SYMEX_EXPR_SKELETON_H
13#define CPROVER_GOTO_SYMEX_EXPR_SKELETON_H
14
15#include <util/expr.h>
16
25class expr_skeletont final
26{
27public:
31
35
38 exprt apply(exprt expr) const;
39
45
46private:
52
53 explicit expr_skeletont(exprt e) : skeleton(std::move(e))
54 {
55 }
56};
57
58#endif // CPROVER_GOTO_SYMEX_EXPR_SKELETON_H
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(exprt e)
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.
Definition expr.h:56
STL namespace.