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