libTriton version 1.0 build 1590
Loading...
Searching...
No Matches
astSmtRepresentation.hpp
Go to the documentation of this file.
1
2/*
3** Copyright (C) - Triton
4**
5** This program is under the terms of the Apache License 2.0.
6*/
7
8#ifndef TRITON_ASTSMTREPRESENTATION_HPP
9#define TRITON_ASTSMTREPRESENTATION_HPP
10
11#include <iostream>
12
14#include <triton/ast.hpp>
15#include <triton/dllexport.hpp>
16
17
18
20namespace triton {
27 namespace ast {
35 namespace representations {
44 public:
46 TRITON_EXPORT AstSmtRepresentation();
47
49 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::AbstractNode* node);
50
52 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::ArrayNode* node);
53
55 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::AssertNode* node);
56
58 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BswapNode* node);
59
61 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvNode* node);
62
64 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvaddNode* node);
65
67 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvandNode* node);
68
70 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvashrNode* node);
71
73 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvlshrNode* node);
74
76 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvmulNode* node);
77
79 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvnandNode* node);
80
82 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvnegNode* node);
83
85 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvnorNode* node);
86
88 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvnotNode* node);
89
91 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvorNode* node);
92
94 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvrolNode* node);
95
97 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvrorNode* node);
98
100 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvsdivNode* node);
101
103 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvsgeNode* node);
104
106 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvsgtNode* node);
107
109 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvshlNode* node);
110
112 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvsleNode* node);
113
115 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvsltNode* node);
116
118 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvsmodNode* node);
119
121 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvsremNode* node);
122
124 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvsubNode* node);
125
127 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvudivNode* node);
128
130 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvugeNode* node);
131
133 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvugtNode* node);
134
136 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvuleNode* node);
137
139 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvultNode* node);
140
142 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvuremNode* node);
143
145 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvxnorNode* node);
146
148 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::BvxorNode* node);
149
151 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::CompoundNode* node);
152
154 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::ConcatNode* node);
155
157 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::DeclareNode* node);
158
160 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::DistinctNode* node);
161
163 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::EqualNode* node);
164
166 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::ExtractNode* node);
167
169 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::ForallNode* node);
170
172 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::IffNode* node);
173
175 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::IntegerNode* node);
176
178 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::IteNode* node);
179
181 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::LandNode* node);
182
184 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::LetNode* node);
185
187 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::LnotNode* node);
188
190 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::LorNode* node);
191
193 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::LxorNode* node);
194
196 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::ReferenceNode* node);
197
199 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::SelectNode* node);
200
202 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::StoreNode* node);
203
205 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::StringNode* node);
206
208 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::SxNode* node);
209
211 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::VariableNode* node);
212
214 TRITON_EXPORT std::ostream& print(std::ostream& stream, triton::ast::ZxNode* node);
215 };
216
218 };
220 };
222};
223
224#endif /* TRITON_ASTSMTREPRESENTATION_HPP */
Abstract node.
Definition ast.hpp:68
(Array (_ BitVec indexSize) (_ BitVec 8)) node
Definition ast.hpp:193
(assert <expr>) node
Definition ast.hpp:231
(bswap <expr>) node
Definition ast.hpp:242
(_ bv<value> <size>) node
Definition ast.hpp:574
(bvadd <expr1> <expr2>) node
Definition ast.hpp:253
(bvand <expr1> <expr2>) node
Definition ast.hpp:264
(bvashr <expr1> <expr2>) node
Definition ast.hpp:275
(bvlshr <expr1> <expr2>) node
Definition ast.hpp:286
(bvmul <expr1> <expr2>) node
Definition ast.hpp:297
(bvnand <expr1> <expr2>) node
Definition ast.hpp:308
(bvneg <expr>) node
Definition ast.hpp:319
(bvnor <expr1> <expr2>) node
Definition ast.hpp:330
(bvnot <expr>) node
Definition ast.hpp:341
(bvor <expr1> <expr2>) node
Definition ast.hpp:352
((_ rotate_left rot) <expr>) node
Definition ast.hpp:363
((_ rotate_right rot) <expr>) node
Definition ast.hpp:375
(bvsdiv <expr1> <expr2>) node
Definition ast.hpp:387
(bvsge <expr1> <expr2>) node
Definition ast.hpp:398
(bvsgt <expr1> <expr2>) node
Definition ast.hpp:409
(bvshl <expr1> <expr2>) node
Definition ast.hpp:420
(bvsle <expr1> <expr2>) node
Definition ast.hpp:431
(bvslt <expr1> <expr2>) node
Definition ast.hpp:442
(bvsmod <expr1> <expr2>) node
Definition ast.hpp:453
(bvsrem <expr1> <expr2>) node
Definition ast.hpp:464
(bvsub <expr1> <expr2>) node
Definition ast.hpp:475
(bvudiv <expr1> <expr2>) node
Definition ast.hpp:486
(bvuge <expr1> <expr2>) node
Definition ast.hpp:497
(bvugt <expr1> <expr2>) node
Definition ast.hpp:508
(bvule <expr1> <expr2>) node
Definition ast.hpp:519
(bvult <expr1> <expr2>) node
Definition ast.hpp:530
(bvurem <expr1> <expr2>) node
Definition ast.hpp:541
(bvxnor <expr1> <expr2>) node
Definition ast.hpp:552
(bvxor <expr1> <expr2>) node
Definition ast.hpp:563
[<expr1> <expr2> <expr3> ...] node
Definition ast.hpp:585
(concat <expr1> <expr2> ...) node
Definition ast.hpp:601
(declare-fun <var_name> () (_ BitVec <var_size>)) node
Definition ast.hpp:618
(distinct <expr1> <expr2> ...) node
Definition ast.hpp:629
(= <expr1> <expr2> ...) node
Definition ast.hpp:640
((_ extract <high> <low>) <expr>) node
Definition ast.hpp:651
(forall ((x (_ BitVec <size>)), ...) body)
Definition ast.hpp:662
(iff <expr1> <expr2>)
Definition ast.hpp:679
Integer node.
Definition ast.hpp:690
(ite <ifExpr> <thenExpr> <elseExpr>)
Definition ast.hpp:705
(and <expr1> <expr2>)
Definition ast.hpp:716
(let ((<alias> <expr2>)) <expr3>)
Definition ast.hpp:733
(lnot <expr>)
Definition ast.hpp:744
(or <expr1> <expr2>)
Definition ast.hpp:755
(xor <expr1> <expr2>)
Definition ast.hpp:772
Reference node.
Definition ast.hpp:789
(select array index)
Definition ast.hpp:804
(store array index expr)
Definition ast.hpp:816
String node.
Definition ast.hpp:852
((_ sign_extend sizeExt) <expr>) node
Definition ast.hpp:867
Variable node.
Definition ast.hpp:878
((_ zero_extend sizeExt) <expr>) node
Definition ast.hpp:893
TRITON_EXPORT std::ostream & print(std::ostream &stream, triton::ast::AbstractNode *node)
Displays the node according to the representation mode.
The Triton namespace.