72 std::vector<triton::usize> symExprs;
73 for (
const auto& se : ssa) {
74 symExprs.push_back(se.first);
78 std::map<triton::usize, triton::engines::symbolic::SharedSymbolicVariable> symVars;
81 symVars[var->getId()] = var;
85 this->requiredFunctions(stream);
89 auto n = this->astCtxt->declare(array);
90 stream << n << std::endl;
94 for (
const auto& var : symVars) {
95 auto n = this->astCtxt->declare(this->astCtxt->variable(var.second));
96 stream << n << std::endl;
100 std::sort(symExprs.begin(), symExprs.end());
103 for (
const auto&
id : symExprs) {
105 stream << e->getFormattedExpression();
106 if (icomment && !e->getDisassembly().empty()) {
107 if (e->getComment().empty()) {
113 stream << e->getDisassembly();
119 this->astCtxt->setRepresentationMode(mode);
TRITON_EXPORT std::ostream & liftToPython(std::ostream &stream, const triton::engines::symbolic::SharedSymbolicExpression &expr, bool icomment=false)
Lifts a symbolic expression and all its references to Python format. If icomment is true,...
std::deque< SharedAbstractNode > search(const SharedAbstractNode &node, triton::ast::ast_e match)
Returns a deque of collected matched nodes via a depth-first pre order traversal.