|
libTriton version 1.0 build 1599
|
Topics | |
| Representations | |
Namespaces | |
| namespace | triton::ast::representations |
| The Representations namespace. | |
Classes | |
| class | triton::ast::AbstractNode |
| Abstract node. More... | |
| class | triton::ast::ArrayNode |
(Array (_ BitVec indexSize) (_ BitVec 8)) node More... | |
| class | triton::ast::AssertNode |
(assert <expr>) node More... | |
| class | triton::ast::BswapNode |
(bswap <expr>) node More... | |
| class | triton::ast::BvaddNode |
(bvadd <expr1> <expr2>) node More... | |
| class | triton::ast::BvandNode |
(bvand <expr1> <expr2>) node More... | |
| class | triton::ast::BvashrNode |
(bvashr <expr1> <expr2>) node More... | |
| class | triton::ast::BvlshrNode |
(bvlshr <expr1> <expr2>) node More... | |
| class | triton::ast::BvmulNode |
(bvmul <expr1> <expr2>) node More... | |
| class | triton::ast::BvnandNode |
(bvnand <expr1> <expr2>) node More... | |
| class | triton::ast::BvnegNode |
(bvneg <expr>) node More... | |
| class | triton::ast::BvnorNode |
(bvnor <expr1> <expr2>) node More... | |
| class | triton::ast::BvnotNode |
(bvnot <expr>) node More... | |
| class | triton::ast::BvorNode |
(bvor <expr1> <expr2>) node More... | |
| class | triton::ast::BvrolNode |
((_ rotate_left rot) <expr>) node More... | |
| class | triton::ast::BvrorNode |
((_ rotate_right rot) <expr>) node More... | |
| class | triton::ast::BvsdivNode |
(bvsdiv <expr1> <expr2>) node More... | |
| class | triton::ast::BvsgeNode |
(bvsge <expr1> <expr2>) node More... | |
| class | triton::ast::BvsgtNode |
(bvsgt <expr1> <expr2>) node More... | |
| class | triton::ast::BvshlNode |
(bvshl <expr1> <expr2>) node More... | |
| class | triton::ast::BvsleNode |
(bvsle <expr1> <expr2>) node More... | |
| class | triton::ast::BvsltNode |
(bvslt <expr1> <expr2>) node More... | |
| class | triton::ast::BvsmodNode |
(bvsmod <expr1> <expr2>) node More... | |
| class | triton::ast::BvsremNode |
(bvsrem <expr1> <expr2>) node More... | |
| class | triton::ast::BvsubNode |
(bvsub <expr1> <expr2>) node More... | |
| class | triton::ast::BvudivNode |
(bvudiv <expr1> <expr2>) node More... | |
| class | triton::ast::BvugeNode |
(bvuge <expr1> <expr2>) node More... | |
| class | triton::ast::BvugtNode |
(bvugt <expr1> <expr2>) node More... | |
| class | triton::ast::BvuleNode |
(bvule <expr1> <expr2>) node More... | |
| class | triton::ast::BvultNode |
(bvult <expr1> <expr2>) node More... | |
| class | triton::ast::BvuremNode |
(bvurem <expr1> <expr2>) node More... | |
| class | triton::ast::BvxnorNode |
(bvxnor <expr1> <expr2>) node More... | |
| class | triton::ast::BvxorNode |
(bvxor <expr1> <expr2>) node More... | |
| class | triton::ast::BvNode |
(_ bv<value> <size>) node More... | |
| class | triton::ast::CompoundNode |
[<expr1> <expr2> <expr3> ...] node More... | |
| class | triton::ast::ConcatNode |
(concat <expr1> <expr2> ...) node More... | |
| class | triton::ast::DeclareNode |
(declare-fun <var_name> () (_ BitVec <var_size>)) node More... | |
| class | triton::ast::DistinctNode |
(distinct <expr1> <expr2> ...) node More... | |
| class | triton::ast::EqualNode |
(= <expr1> <expr2> ...) node More... | |
| class | triton::ast::ExtractNode |
((_ extract <high> <low>) <expr>) node More... | |
| class | triton::ast::ForallNode |
(forall ((x (_ BitVec <size>)), ...) body) More... | |
| class | triton::ast::IffNode |
(iff <expr1> <expr2>) More... | |
| class | triton::ast::IntegerNode |
| Integer node. More... | |
| class | triton::ast::IteNode |
(ite <ifExpr> <thenExpr> <elseExpr>) More... | |
| class | triton::ast::LandNode |
(and <expr1> <expr2>) More... | |
| class | triton::ast::LetNode |
(let ((<alias> <expr2>)) <expr3>) More... | |
| class | triton::ast::LnotNode |
(lnot <expr>) More... | |
| class | triton::ast::LorNode |
(or <expr1> <expr2>) More... | |
| class | triton::ast::LxorNode |
(xor <expr1> <expr2>) More... | |
| class | triton::ast::ReferenceNode |
| Reference node. More... | |
| class | triton::ast::SelectNode |
(select array index) More... | |
| class | triton::ast::StoreNode |
(store array index expr) More... | |
| class | triton::ast::StringNode |
| String node. More... | |
| class | triton::ast::SxNode |
((_ sign_extend sizeExt) <expr>) node More... | |
| class | triton::ast::VariableNode |
| Variable node. More... | |
| class | triton::ast::ZxNode |
((_ zero_extend sizeExt) <expr>) node More... | |
| class | triton::ast::AstContext |
| AST Context - Used as AST builder. More... | |
| class | triton::ast::LLVMToTriton |
| Converts a LLVM IR to a Triton AST. More... | |
| class | triton::ast::TritonToBitwuzla |
| Converts a Triton's AST to Bitwuzla's AST. More... | |
| class | triton::ast::TritonToLLVM |
| Converts a Triton's AST to LVM IR. More... | |
| class | triton::ast::TritonToZ3 |
| Converts a Triton's AST to Z3's AST. More... | |
| class | triton::ast::Z3ToTriton |
| Converts a Z3's AST to a Triton's AST. More... | |
Typedefs | |
| using | triton::ast::SharedAbstractNode = std::shared_ptr<triton::ast::AbstractNode> |
| Shared Abstract Node. | |
| using | triton::ast::WeakAbstractNode = std::weak_ptr<triton::ast::AbstractNode> |
| Weak Abstract Node. | |
| using | triton::ast::SharedAstContext = std::shared_ptr<triton::ast::AstContext> |
| Shared AST context. | |
Functions | |
| triton::uint512 | triton::ast::hash2n (triton::uint512 hash, triton::uint32 n) |
| Custom hash2n function for hash routine. | |
| triton::uint512 | triton::ast::rotl (const triton::uint512 &value, triton::uint32 shift) |
| Custom rotate left function for hash routine. | |
| triton::sint512 | triton::ast::modularSignExtend (AbstractNode *node) |
| Custom modular sign extend for bitwise operation. | |
| std::ostream & | triton::ast::operator<< (std::ostream &stream, AbstractNode *node) |
| Displays the node in ast representation. | |
| SharedAbstractNode | triton::ast::newInstance (AbstractNode *node, bool unroll=false) |
| AST C++ API - Duplicates the AST. | |
| SharedAbstractNode | triton::ast::unroll (const SharedAbstractNode &node) |
| AST C++ API - Unrolls the SSA form of a given AST. | |
| std::vector< SharedAbstractNode > | triton::ast::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. | |
| std::vector< SharedAbstractNode > | triton::ast::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. | |
| std::deque< SharedAbstractNode > | triton::ast::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. | |
| SharedAbstractNode | triton::ast::dereference (const SharedAbstractNode &node) |
| Returns the first non referene node encountered. | |
| triton::uint32 | triton::ast::getIndexSize (const SharedAbstractNode &node) |
| Gets the index size of an array. | |
| template<typename T > | |
| T | triton::ast::getInteger (const SharedAbstractNode &node) |
| Gets the value of an integer node. | |
| template<> | |
| std::string | triton::ast::getInteger (const SharedAbstractNode &node) |
| std::string specialization | |
| using triton::ast::SharedAbstractNode = std::shared_ptr<triton::ast::AbstractNode> |
| typedef std::shared_ptr< triton::ast::AstContext > triton::ast::SharedAstContext = std::shared_ptr<triton::ast::AstContext> |
| using triton::ast::WeakAbstractNode = std::weak_ptr<triton::ast::AbstractNode> |
| enum triton::ast::ast_e |
Enumerates all types of node. Must be prime numbers.
Definition at line 29 of file astEnums.hpp.
| TRITON_EXPORT std::vector< SharedAbstractNode > triton::ast::childrenExtraction | ( | const SharedAbstractNode & | node, |
| bool | unroll, | ||
| bool | revert ) |
| TRITON_EXPORT SharedAbstractNode triton::ast::dereference | ( | const SharedAbstractNode & | node | ) |
| triton::uint32 triton::ast::getIndexSize | ( | const SharedAbstractNode & | node | ) |
|
inline |
|
inline |
| triton::uint512 triton::ast::hash2n | ( | triton::uint512 | hash, |
| triton::uint32 | n ) |
| triton::sint512 triton::ast::modularSignExtend | ( | AbstractNode * | node | ) |
| TRITON_EXPORT SharedAbstractNode triton::ast::newInstance | ( | AbstractNode * | node, |
| bool | unroll ) |
| TRITON_EXPORT std::ostream & triton::ast::operator<< | ( | std::ostream & | stream, |
| AbstractNode * | node ) |
| TRITON_EXPORT std::vector< SharedAbstractNode > triton::ast::parentsExtraction | ( | const SharedAbstractNode & | node, |
| bool | revert ) |
| triton::uint512 triton::ast::rotl | ( | const triton::uint512 & | value, |
| triton::uint32 | shift ) |
| TRITON_EXPORT std::deque< SharedAbstractNode > triton::ast::search | ( | const SharedAbstractNode & | node, |
| triton::ast::ast_e | match ) |
| TRITON_EXPORT SharedAbstractNode triton::ast::unroll | ( | const triton::ast::SharedAbstractNode & | node | ) |