|
| | Z3Translator (Z3Solver &solver) |
| |
| z3::expr | getResult () |
| |
|
bool | preorder (const IR::Add *op) override |
| |
|
bool | preorder (const IR::BAnd *op) override |
| |
|
bool | preorder (const IR::BoolLiteral *boolLiteral) override |
| |
|
bool | preorder (const IR::BOr *op) override |
| |
|
bool | preorder (const IR::BXor *op) override |
| |
|
bool | preorder (const IR::Cast *cast) override |
| | Translates casts.
|
| |
|
bool | preorder (const IR::Cmpl *op) override |
| |
|
bool | preorder (const IR::Concat *op) override |
| |
|
bool | preorder (const IR::Constant *constant) override |
| | Translates constants.
|
| |
|
bool | preorder (const IR::Div *op) override |
| |
|
bool | preorder (const IR::Equ *op) override |
| |
|
bool | preorder (const IR::Geq *op) override |
| |
|
bool | preorder (const IR::Grt *op) override |
| |
|
bool | preorder (const IR::LAnd *op) override |
| |
|
bool | preorder (const IR::Leq *op) override |
| |
|
bool | preorder (const IR::LNot *op) override |
| |
|
bool | preorder (const IR::LOr *op) override |
| |
|
bool | preorder (const IR::Lss *op) override |
| |
|
bool | preorder (const IR::Mod *op) override |
| |
|
bool | preorder (const IR::Mul *op) override |
| |
|
bool | preorder (const IR::Mux *op) override |
| | Building ternary operations.
|
| |
|
bool | preorder (const IR::Neg *op) override |
| |
|
bool | preorder (const IR::Neq *op) override |
| |
|
bool | preorder (const IR::Node *node) override |
| | Handles unexpected nodes.
|
| |
|
bool | preorder (const IR::Shl *op) override |
| |
|
bool | preorder (const IR::Shr *op) override |
| |
|
bool | preorder (const IR::Slice *op) override |
| |
|
bool | preorder (const IR::StringLiteral *stringLiteral) override |
| |
|
bool | preorder (const IR::Sub *op) override |
| |
|
bool | preorder (const IR::SymbolicVariable *var) override |
| | Translates variables.
|
| |
|
z3::expr | translate (const IR::Expression *expression) |
| | Translate an P4C IR expression and return the Z3 equivalent.
|
| |
Translates P4 expressions into Z3. Any variables encountered are declared to a Z3 instance.