|
enum | ast_e {
INVALID_NODE = 0
, ANY_NODE = 0
, ASSERT_NODE = 3
, BSWAP_NODE = 5
,
BVADD_NODE = 7
, BVAND_NODE = 12
, BVASHR_NODE = 17
, BVLSHR_NODE = 19
,
BVMUL_NODE = 23
, BVNAND_NODE = 29
, BVNEG_NODE = 31
, BVNOR_NODE = 37
,
BVNOT_NODE = 41
, BVOR_NODE = 43
, BVROL_NODE = 47
, BVROR_NODE = 52
,
BVSDIV_NODE = 59
, BVSGE_NODE = 61
, BVSGT_NODE = 67
, BVSHL_NODE = 71
,
BVSLE_NODE = 73
, BVSLT_NODE = 79
, BVSMOD_NODE = 83
, BVSREM_NODE = 89
,
BVSUB_NODE = 97
, BVUDIV_NODE = 101
, BVUGE_NODE = 103
, BVUGT_NODE = 107
,
BVULE_NODE = 109
, BVULT_NODE = 113
, BVUREM_NODE = 127
, BVXNOR_NODE = 131
,
BVXOR_NODE = 137
, BV_NODE = 139
, COMPOUND_NODE = 149
, CONCAT_NODE = 151
,
DECLARE_NODE = 157
, DISTINCT_NODE = 163
, EQUAL_NODE = 167
, EXTRACT_NODE = 173
,
FORALL_NODE = 179
, IFF_NODE = 181
, INTEGER_NODE = 191
, ITE_NODE = 193
,
LAND_NODE = 197
, LET_NODE = 199
, LNOT_NODE = 211
, LOR_NODE = 223
,
LXOR_NODE = 227
, REFERENCE_NODE = 229
, STRING_NODE = 233
, SX_NODE = 239
,
VARIABLE_NODE = 241
, ZX_NODE = 251
, ARRAY_NODE = 257
, SELECT_NODE = 263
,
STORE_NODE = 269
} |
|
|
std::ostream & | operator<< (std::ostream &stream, AbstractNode *node) |
| Displays the node in ast representation. More...
|
|
triton::uint512 | hash2n (triton::uint512 hash, triton::uint32 n) |
| Custom hash2n function for hash routine. More...
|
|
triton::uint512 | rotl (const triton::uint512 &value, triton::uint32 shift) |
| Custom rotate left function for hash routine. More...
|
|
triton::sint512 | modularSignExtend (AbstractNode *node) |
| Custom modular sign extend for bitwise operation. More...
|
|
SharedAbstractNode | newInstance (AbstractNode *node, bool unroll=false) |
| AST C++ API - Duplicates the AST. More...
|
|
SharedAbstractNode | unroll (const SharedAbstractNode &node) |
| AST C++ API - Unrolls the SSA form of a given AST. More...
|
|
std::vector< SharedAbstractNode > | childrenExtraction (const SharedAbstractNode &node, bool unroll, bool revert) |
| Returns node and all its children of an AST sorted topologically. If unroll is true, references are unrolled. If revert is true, children are on top of list. More...
|
|
std::vector< SharedAbstractNode > | parentsExtraction (const SharedAbstractNode &node, bool revert) |
| Returns node and all its parents of an AST sorted topologically. If revert is true, oldest parents are on top of list. More...
|
|
std::deque< SharedAbstractNode > | search (const SharedAbstractNode &node, triton::ast::ast_e match=ANY_NODE) |
| Returns a deque of collected matched nodes via a depth-first pre order traversal. More...
|
|
SharedAbstractNode | dereference (const SharedAbstractNode &node) |
| Returns the first non referene node encountered. More...
|
|
triton::uint32 | getIndexSize (const SharedAbstractNode &node) |
| Gets the index size of an array. More...
|
|
template<typename T > |
T | getInteger (const SharedAbstractNode &node) |
| Gets the value of an integer node. More...
|
|
template<> |
std::string | getInteger (const SharedAbstractNode &node) |
| std::string specialization More...
|
|