17 namespace representations {
97 stream <<
"assert(" << node->
getChildren()[0] <<
")";
321 std::vector<triton::ast::SharedAbstractNode> children = node->
getChildren();
325 stream << children[index] << std::endl;
326 stream << children[size-1];
340 stream << node->
getChildren()[index] <<
") << " << node->
getChildren()[index+1]->getBitvectorSize() <<
" | ";
351 if (var->getAlias().empty())
352 stream << var->getName() <<
" = " <<
"int(input())";
354 stream << var->getAlias() <<
" = " <<
"int(input())";
358 stream << node->
getChildren()[0] <<
" = bytearray()";
390 stream <<
"((" << node->
getChildren()[2] <<
" >> " << low <<
")" <<
" & " << std::hex <<
"0x" << node->
getBitvectorMask() << std::dec <<
")";
400 stream <<
"forall([";
403 if (var->getAlias().empty()) stream << var->getName();
404 else stream << var->getAlias();
405 if (i + 1 != size) stream <<
", ";
407 stream <<
"], " << node->
getChildren()[size] <<
")";
422 stream << std::hex <<
"0x" << node->getInteger() << std::dec;
479 stream <<
") != bool(" << node->
getChildren()[index];
487 stream << node->getSymbolicExpression()->getFormattedId();
508 stream << node->getString();
528 if (node->getSymbolicVariable()->getAlias().empty())
529 stream << node->getSymbolicVariable()->getName();
531 stream << node->getSymbolicVariable()->getAlias();
TRITON_EXPORT triton::uint512 getBitvectorMask(void) const
Returns the vector mask according the size of the node.
TRITON_EXPORT triton::uint32 getBitvectorSize(void) const
Returns the size of the node.
TRITON_EXPORT std::vector< SharedAbstractNode > & getChildren(void)
Returns the children of the node.
TRITON_EXPORT triton::ast::ast_e getType(void) const
Returns the type of the node.
(Array (_ BitVec indexSize) (_ BitVec 8)) node
(_ bv<value> <size>) node
(bvadd <expr1> <expr2>) node
(bvand <expr1> <expr2>) node
(bvashr <expr1> <expr2>) node
(bvlshr <expr1> <expr2>) node
(bvmul <expr1> <expr2>) node
(bvnand <expr1> <expr2>) node
(bvnor <expr1> <expr2>) node
(bvor <expr1> <expr2>) node
((_ rotate_left rot) <expr>) node
((_ rotate_right rot) <expr>) node
(bvsdiv <expr1> <expr2>) node
(bvsge <expr1> <expr2>) node
(bvsgt <expr1> <expr2>) node
(bvshl <expr1> <expr2>) node
(bvsle <expr1> <expr2>) node
(bvslt <expr1> <expr2>) node
(bvsmod <expr1> <expr2>) node
(bvsrem <expr1> <expr2>) node
(bvsub <expr1> <expr2>) node
(bvudiv <expr1> <expr2>) node
(bvuge <expr1> <expr2>) node
(bvugt <expr1> <expr2>) node
(bvule <expr1> <expr2>) node
(bvult <expr1> <expr2>) node
(bvurem <expr1> <expr2>) node
(bvxnor <expr1> <expr2>) node
(bvxor <expr1> <expr2>) node
[<expr1> <expr2> <expr3> ...] node
(concat <expr1> <expr2> ...) node
(declare-fun <var_name> () (_ BitVec <var_size>)) node
(distinct <expr1> <expr2> ...) node
(= <expr1> <expr2> ...) node
(forall ((x (_ BitVec <size>)), ...) body)
(ite <ifExpr> <thenExpr> <elseExpr>)
(let ((<alias> <expr2>)) <expr3>)
((_ sign_extend sizeExt) <expr>) node
((_ zero_extend sizeExt) <expr>) node
TRITON_EXPORT AstPythonRepresentation()
Constructor.
TRITON_EXPORT std::ostream & print(std::ostream &stream, triton::ast::AbstractNode *node)
Displays the node according to the representation mode.
The exception class used by all AST node representations.
std::shared_ptr< triton::engines::symbolic::SymbolicVariable > SharedSymbolicVariable
Shared Symbolic variable.
std::size_t usize
unsigned MAX_INT 32 or 64 bits according to the CPU.
std::uint32_t uint32
unisgned 32-bits