metaSMT 2
|
A graph based representation of metaSMT expressions. More...
#include <metaSMT/Graph_Context.hpp>
Public Types | |
typedef SMT_Expression | result_type |
Public Member Functions | |
Graph_Context () | |
~Graph_Context () | |
result_type | operator() (proto::tag::terminal, result_type const &expr) |
result_type | operator() (proto::tag::terminal, logic::QF_BV::tag::var_tag const &tag) |
result_type | operator() (proto::tag::terminal, logic::Array::tag::array_var_tag const &tag) |
template<typename Upper , typename Lower , typename Expr > | |
result_type | operator() (logic::QF_BV::tag::extract_tag tag, Upper upper, Lower lower, Expr arg) |
template<typename Width , typename Expr > | |
result_type | operator() (logic::QF_BV::tag::zero_extend_tag tag, Width width, Expr arg) |
template<typename Width , typename Expr > | |
result_type | operator() (logic::QF_BV::tag::sign_extend_tag tag, Width width, Expr arg) |
template<typename TagT > | |
result_type | operator() (proto::tag::terminal, TagT tag) |
template<typename TAG , typename Expr1 , typename Expr2 > | |
result_type | operator() (TAG tag, Expr1 e1, Expr2 e2) |
template<typename TAG , typename Expr1 , typename Expr2 , typename Expr3 > | |
result_type | operator() (TAG tag, Expr1 e1, Expr2 e2, Expr3 e3) |
template<typename Expr1 , typename Expr2 > | |
result_type | operator() (logic::QF_BV::tag::bvuint_tag const &tag, Expr1 value, Expr2 bw) |
template<typename Expr1 , typename Expr2 > | |
result_type | operator() (logic::QF_BV::tag::bvsint_tag const &tag, Expr1 value, Expr2 bw) |
template<typename Expr1 > | |
result_type | operator() (logic::QF_BV::tag::bvbin_tag tag, Expr1 value) |
template<typename Expr1 > | |
result_type | operator() (logic::QF_BV::tag::bvhex_tag tag, Expr1 value) |
template<typename TAG , typename Expr1 > | |
result_type | operator() (TAG tag, Expr1 const &e1) |
SMT_Graph const & | graph () |
template<typename Stream > | |
void | write_dot (Stream &out) |
template<typename Stream > | |
void | write_smt (Stream &out, std::vector< SMT_Expression > const &assertions) |
A graph based representation of metaSMT expressions.
This Backend build an expression tree for the evaluated expressions. It supports no commands, only evaluates expressions and returns a node in the internal graph.
The internal graph is an SMT_Graph and can be access with graph()
Definition at line 36 of file Graph_Context.hpp.
Definition at line 46 of file Graph_Context.hpp.
metaSMT::Graph_Context::Graph_Context | ( | ) | [inline] |
Definition at line 39 of file Graph_Context.hpp.
metaSMT::Graph_Context::~Graph_Context | ( | ) | [inline] |
Definition at line 43 of file Graph_Context.hpp.
SMT_Graph const& metaSMT::Graph_Context::graph | ( | ) | [inline] |
Definition at line 326 of file Graph_Context.hpp.
result_type metaSMT::Graph_Context::operator() | ( | proto::tag::terminal | , |
logic::QF_BV::tag::var_tag const & | tag | ||
) | [inline] |
Definition at line 52 of file Graph_Context.hpp.
result_type metaSMT::Graph_Context::operator() | ( | logic::QF_BV::tag::extract_tag | tag, |
Upper | upper, | ||
Lower | lower, | ||
Expr | arg | ||
) | [inline] |
Definition at line 83 of file Graph_Context.hpp.
result_type metaSMT::Graph_Context::operator() | ( | proto::tag::terminal | , |
TagT | tag | ||
) | [inline] |
Definition at line 136 of file Graph_Context.hpp.
result_type metaSMT::Graph_Context::operator() | ( | TAG | tag, |
Expr1 const & | e1 | ||
) | [inline] |
Definition at line 305 of file Graph_Context.hpp.
result_type metaSMT::Graph_Context::operator() | ( | logic::QF_BV::tag::bvhex_tag | tag, |
Expr1 | value | ||
) | [inline] |
Definition at line 287 of file Graph_Context.hpp.
result_type metaSMT::Graph_Context::operator() | ( | logic::QF_BV::tag::bvbin_tag | tag, |
Expr1 | value | ||
) | [inline] |
Definition at line 260 of file Graph_Context.hpp.
result_type metaSMT::Graph_Context::operator() | ( | logic::QF_BV::tag::bvsint_tag const & | tag, |
Expr1 | value, | ||
Expr2 | bw | ||
) | [inline] |
Definition at line 231 of file Graph_Context.hpp.
result_type metaSMT::Graph_Context::operator() | ( | logic::QF_BV::tag::bvuint_tag const & | tag, |
Expr1 | value, | ||
Expr2 | bw | ||
) | [inline] |
Definition at line 202 of file Graph_Context.hpp.
result_type metaSMT::Graph_Context::operator() | ( | TAG | tag, |
Expr1 | e1, | ||
Expr2 | e2 | ||
) | [inline] |
Definition at line 150 of file Graph_Context.hpp.
result_type metaSMT::Graph_Context::operator() | ( | TAG | tag, |
Expr1 | e1, | ||
Expr2 | e2, | ||
Expr3 | e3 | ||
) | [inline] |
Definition at line 174 of file Graph_Context.hpp.
result_type metaSMT::Graph_Context::operator() | ( | proto::tag::terminal | , |
logic::Array::tag::array_var_tag const & | tag | ||
) | [inline] |
Definition at line 65 of file Graph_Context.hpp.
result_type metaSMT::Graph_Context::operator() | ( | logic::QF_BV::tag::sign_extend_tag | tag, |
Width | width, | ||
Expr | arg | ||
) | [inline] |
Definition at line 119 of file Graph_Context.hpp.
result_type metaSMT::Graph_Context::operator() | ( | logic::QF_BV::tag::zero_extend_tag | tag, |
Width | width, | ||
Expr | arg | ||
) | [inline] |
Definition at line 102 of file Graph_Context.hpp.
result_type metaSMT::Graph_Context::operator() | ( | proto::tag::terminal | , |
result_type const & | expr | ||
) | [inline] |
Definition at line 48 of file Graph_Context.hpp.
void metaSMT::Graph_Context::write_dot | ( | Stream & | out | ) | [inline] |
Definition at line 329 of file Graph_Context.hpp.
void metaSMT::Graph_Context::write_smt | ( | Stream & | out, |
std::vector< SMT_Expression > const & | assertions | ||
) | [inline] |
Definition at line 334 of file Graph_Context.hpp.