libTriton version 1.0 build 1588
Loading...
Searching...
No Matches
Public Member Functions | List of all members
triton::ast::AstContext Class Reference

AST Context - Used as AST builder. More...

#include <astContext.hpp>

Inheritance diagram for triton::ast::AstContext:

Public Member Functions

TRITON_EXPORT AstContext (const triton::modes::SharedModes &modes)
 Constructor. More...
 
TRITON_EXPORT ~AstContext ()
 Destructor. More...
 
TRITON_EXPORT AstContextoperator= (const AstContext &other)
 Operator. More...
 
TRITON_EXPORT SharedAbstractNode collect (const SharedAbstractNode &node)
 Collect new nodes. More...
 
TRITON_EXPORT void garbage (void)
 Garbage unused nodes. More...
 
TRITON_EXPORT SharedAbstractNode array (triton::uint32 addrSize)
 AST C++ API - array node builder. More...
 
TRITON_EXPORT SharedAbstractNode assert_ (const SharedAbstractNode &expr)
 AST C++ API - assert node builder. More...
 
TRITON_EXPORT SharedAbstractNode bswap (const SharedAbstractNode &expr)
 AST C++ API - bswap node builder. More...
 
TRITON_EXPORT SharedAbstractNode bv (const triton::uint512 &value, triton::uint32 size)
 AST C++ API - bv node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvadd (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvadd node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvand (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvand node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvashr (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvashr node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvfalse (void)
 AST C++ API - bvfalse node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvlshr (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvlshr node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvmul (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvmul node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvnand (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvnand node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvneg (const SharedAbstractNode &expr)
 AST C++ API - bvneg node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvnor (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvnor node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvnot (const SharedAbstractNode &expr)
 AST C++ API - bvnot node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvor (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvor node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvrol (const SharedAbstractNode &expr, triton::uint32 rot)
 AST C++ API - bvrol node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvrol (const SharedAbstractNode &expr, const SharedAbstractNode &rot)
 AST C++ API - bvrol node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvror (const SharedAbstractNode &expr, triton::uint32 rot)
 AST C++ API - bvror node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvror (const SharedAbstractNode &expr, const SharedAbstractNode &rot)
 AST C++ API - bvror node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvsdiv (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvsdiv node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvsge (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvsge node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvsgt (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvsgt node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvshl (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvshl node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvsle (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvsle node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvslt (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvslt node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvsmod (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvsmod node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvsrem (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvsrem node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvsub (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvsub node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvtrue (void)
 AST C++ API - bvtrue node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvudiv (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvudiv node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvuge (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvuge node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvugt (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvugt node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvule (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvule node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvult (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvult node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvurem (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvurem node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvxnor (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvxnor node builder. More...
 
TRITON_EXPORT SharedAbstractNode bvxor (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - bvxor node builder. More...
 
template<typename T >
SharedAbstractNode compound (const T &exprs)
 AST C++ API - compound node builder. More...
 
TRITON_EXPORT SharedAbstractNode concat (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - concat node builder. More...
 
template<typename T >
SharedAbstractNode concat (const T &exprs)
 AST C++ API - concat node builder. More...
 
TRITON_EXPORT SharedAbstractNode declare (const SharedAbstractNode &var)
 AST C++ API - declare node builder. More...
 
TRITON_EXPORT SharedAbstractNode distinct (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - distinct node builder. More...
 
TRITON_EXPORT SharedAbstractNode equal (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - equal node builder. More...
 
TRITON_EXPORT SharedAbstractNode extract (triton::uint32 high, triton::uint32 low, const SharedAbstractNode &expr)
 AST C++ API - extract node builder. More...
 
template<typename T >
SharedAbstractNode forall (const T &vars, const SharedAbstractNode &body)
 AST C++ API - forall node builder. More...
 
TRITON_EXPORT SharedAbstractNode iff (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - iff node builder. More...
 
TRITON_EXPORT SharedAbstractNode integer (const triton::uint512 &value)
 AST C++ API - integer node builder. More...
 
TRITON_EXPORT SharedAbstractNode ite (const SharedAbstractNode &ifExpr, const SharedAbstractNode &thenExpr, const SharedAbstractNode &elseExpr)
 AST C++ API - ite node builder. More...
 
TRITON_EXPORT SharedAbstractNode land (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - land node builder. More...
 
template<typename T >
SharedAbstractNode land (const T &exprs)
 AST C++ API - land node builder. More...
 
TRITON_EXPORT SharedAbstractNode let (std::string alias, const SharedAbstractNode &expr2, const SharedAbstractNode &expr3)
 AST C++ API - let node builder. More...
 
TRITON_EXPORT SharedAbstractNode lnot (const SharedAbstractNode &expr)
 AST C++ API - lnot node builder. More...
 
TRITON_EXPORT SharedAbstractNode lor (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - lor node builder. More...
 
template<typename T >
SharedAbstractNode lor (const T &exprs)
 AST C++ API - lor node builder. More...
 
TRITON_EXPORT SharedAbstractNode lxor (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2)
 AST C++ API - lxor node builder. More...
 
template<typename T >
SharedAbstractNode lxor (const T &exprs)
 AST C++ API - lxor node builder. More...
 
TRITON_EXPORT SharedAbstractNode reference (const triton::engines::symbolic::SharedSymbolicExpression &expr)
 AST C++ API - reference node builder. More...
 
TRITON_EXPORT SharedAbstractNode select (const SharedAbstractNode &array, triton::usize index)
 AST C++ API - select node builder. More...
 
TRITON_EXPORT SharedAbstractNode select (const SharedAbstractNode &array, const SharedAbstractNode &index)
 AST C++ API - select node builder. More...
 
TRITON_EXPORT SharedAbstractNode store (const SharedAbstractNode &array, triton::usize index, const SharedAbstractNode &expr)
 AST C++ API - store node builder. More...
 
TRITON_EXPORT SharedAbstractNode store (const SharedAbstractNode &array, const SharedAbstractNode &index, const SharedAbstractNode &expr)
 AST C++ API - store node builder. More...
 
TRITON_EXPORT SharedAbstractNode string (std::string value)
 AST C++ API - string node builder. More...
 
TRITON_EXPORT SharedAbstractNode sx (triton::uint32 sizeExt, const SharedAbstractNode &expr)
 AST C++ API - sx node builder. More...
 
TRITON_EXPORT SharedAbstractNode variable (const triton::engines::symbolic::SharedSymbolicVariable &symVar)
 AST C++ API - variable node builder. More...
 
TRITON_EXPORT SharedAbstractNode zx (triton::uint32 sizeExt, const SharedAbstractNode &expr)
 AST C++ API - zx node builder. More...
 
TRITON_EXPORT void initVariable (const std::string &name, const triton::uint512 &value, const SharedAbstractNode &node)
 Initializes a variable in the context. More...
 
TRITON_EXPORT void updateVariable (const std::string &name, const triton::uint512 &value)
 Updates a variable value in this context. More...
 
SharedAbstractNode getVariableNode (const std::string &name)
 Gets a variable node from its name. More...
 
TRITON_EXPORT triton::uint16 getArraySize (void) const
 Returns the address space used for the ABV logic.
 
TRITON_EXPORT const triton::uint512getVariableValue (const std::string &name) const
 Gets a variable value from its name. More...
 
TRITON_EXPORT void setRepresentationMode (triton::ast::representations::mode_e mode)
 Sets the representation mode for this astContext. More...
 
TRITON_EXPORT triton::ast::representations::mode_e getRepresentationMode (void) const
 Gets the representations mode of this astContext. More...
 
TRITON_EXPORT std::ostream & print (std::ostream &stream, AbstractNode *node)
 Prints the node according to the current representation mode. More...
 

Detailed Description

AST Context - Used as AST builder.

Definition at line 53 of file astContext.hpp.

Constructor & Destructor Documentation

◆ AstContext()

triton::ast::AstContext::AstContext ( const triton::modes::SharedModes modes)

Constructor.

Definition at line 23 of file astContext.cpp.

◆ ~AstContext()

triton::ast::AstContext::~AstContext ( )

Destructor.

Definition at line 28 of file astContext.cpp.

Member Function Documentation

◆ array()

SharedAbstractNode triton::ast::AstContext::array ( triton::uint32  addrSize)

AST C++ API - array node builder.

Definition at line 74 of file astContext.cpp.

◆ assert_()

SharedAbstractNode triton::ast::AstContext::assert_ ( const SharedAbstractNode expr)

AST C++ API - assert node builder.

Definition at line 83 of file astContext.cpp.

◆ bswap()

SharedAbstractNode triton::ast::AstContext::bswap ( const SharedAbstractNode expr)

AST C++ API - bswap node builder.

Definition at line 92 of file astContext.cpp.

◆ bv()

SharedAbstractNode triton::ast::AstContext::bv ( const triton::uint512 value,
triton::uint32  size 
)

AST C++ API - bv node builder.

Definition at line 101 of file astContext.cpp.

◆ bvadd()

SharedAbstractNode triton::ast::AstContext::bvadd ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvadd node builder.

Definition at line 110 of file astContext.cpp.

◆ bvand()

SharedAbstractNode triton::ast::AstContext::bvand ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvand node builder.

Definition at line 136 of file astContext.cpp.

◆ bvashr()

SharedAbstractNode triton::ast::AstContext::bvashr ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvashr node builder.

Definition at line 174 of file astContext.cpp.

◆ bvfalse()

SharedAbstractNode triton::ast::AstContext::bvfalse ( void  )

AST C++ API - bvfalse node builder.

Definition at line 200 of file astContext.cpp.

◆ bvlshr()

SharedAbstractNode triton::ast::AstContext::bvlshr ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvlshr node builder.

Definition at line 209 of file astContext.cpp.

◆ bvmul()

SharedAbstractNode triton::ast::AstContext::bvmul ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvmul node builder.

Definition at line 239 of file astContext.cpp.

◆ bvnand()

SharedAbstractNode triton::ast::AstContext::bvnand ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvnand node builder.

Definition at line 273 of file astContext.cpp.

◆ bvneg()

SharedAbstractNode triton::ast::AstContext::bvneg ( const SharedAbstractNode expr)

AST C++ API - bvneg node builder.

Definition at line 289 of file astContext.cpp.

◆ bvnor()

SharedAbstractNode triton::ast::AstContext::bvnor ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvnor node builder.

Definition at line 305 of file astContext.cpp.

◆ bvnot()

SharedAbstractNode triton::ast::AstContext::bvnot ( const SharedAbstractNode expr)

AST C++ API - bvnot node builder.

Definition at line 321 of file astContext.cpp.

◆ bvor()

SharedAbstractNode triton::ast::AstContext::bvor ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvor node builder.

Definition at line 337 of file astContext.cpp.

◆ bvrol() [1/2]

SharedAbstractNode triton::ast::AstContext::bvrol ( const SharedAbstractNode expr,
const SharedAbstractNode rot 
)

AST C++ API - bvrol node builder.

Definition at line 391 of file astContext.cpp.

◆ bvrol() [2/2]

SharedAbstractNode triton::ast::AstContext::bvrol ( const SharedAbstractNode expr,
triton::uint32  rot 
)

AST C++ API - bvrol node builder.

Definition at line 375 of file astContext.cpp.

◆ bvror() [1/2]

SharedAbstractNode triton::ast::AstContext::bvror ( const SharedAbstractNode expr,
const SharedAbstractNode rot 
)

AST C++ API - bvror node builder.

Definition at line 441 of file astContext.cpp.

◆ bvror() [2/2]

SharedAbstractNode triton::ast::AstContext::bvror ( const SharedAbstractNode expr,
triton::uint32  rot 
)

AST C++ API - bvror node builder.

Definition at line 425 of file astContext.cpp.

◆ bvsdiv()

SharedAbstractNode triton::ast::AstContext::bvsdiv ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvsdiv node builder.

Definition at line 475 of file astContext.cpp.

◆ bvsge()

SharedAbstractNode triton::ast::AstContext::bvsge ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvsge node builder.

Definition at line 497 of file astContext.cpp.

◆ bvsgt()

SharedAbstractNode triton::ast::AstContext::bvsgt ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvsgt node builder.

Definition at line 506 of file astContext.cpp.

◆ bvshl()

SharedAbstractNode triton::ast::AstContext::bvshl ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvshl node builder.

Definition at line 515 of file astContext.cpp.

◆ bvsle()

SharedAbstractNode triton::ast::AstContext::bvsle ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvsle node builder.

Definition at line 545 of file astContext.cpp.

◆ bvslt()

SharedAbstractNode triton::ast::AstContext::bvslt ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvslt node builder.

Definition at line 554 of file astContext.cpp.

◆ bvsmod()

SharedAbstractNode triton::ast::AstContext::bvsmod ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvsmod node builder.

Definition at line 563 of file astContext.cpp.

◆ bvsrem()

SharedAbstractNode triton::ast::AstContext::bvsrem ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvsrem node builder.

Definition at line 579 of file astContext.cpp.

◆ bvsub()

SharedAbstractNode triton::ast::AstContext::bvsub ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvsub node builder.

Definition at line 595 of file astContext.cpp.

◆ bvtrue()

SharedAbstractNode triton::ast::AstContext::bvtrue ( void  )

AST C++ API - bvtrue node builder.

Definition at line 625 of file astContext.cpp.

◆ bvudiv()

SharedAbstractNode triton::ast::AstContext::bvudiv ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvudiv node builder.

Definition at line 634 of file astContext.cpp.

◆ bvuge()

SharedAbstractNode triton::ast::AstContext::bvuge ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvuge node builder.

Definition at line 656 of file astContext.cpp.

◆ bvugt()

SharedAbstractNode triton::ast::AstContext::bvugt ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvugt node builder.

Definition at line 665 of file astContext.cpp.

◆ bvule()

SharedAbstractNode triton::ast::AstContext::bvule ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvule node builder.

Definition at line 674 of file astContext.cpp.

◆ bvult()

SharedAbstractNode triton::ast::AstContext::bvult ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvult node builder.

Definition at line 683 of file astContext.cpp.

◆ bvurem()

SharedAbstractNode triton::ast::AstContext::bvurem ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvurem node builder.

Definition at line 692 of file astContext.cpp.

◆ bvxnor()

SharedAbstractNode triton::ast::AstContext::bvxnor ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvxnor node builder.

Definition at line 708 of file astContext.cpp.

◆ bvxor()

SharedAbstractNode triton::ast::AstContext::bvxor ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - bvxor node builder.

Definition at line 724 of file astContext.cpp.

◆ collect()

SharedAbstractNode triton::ast::AstContext::collect ( const SharedAbstractNode node)

Collect new nodes.

Definition at line 46 of file astContext.cpp.

◆ compound()

template<typename T >
template TRITON_EXPORT SharedAbstractNode triton::ast::AstContext::compound ( const T &  exprs)
inline

AST C++ API - compound node builder.

Definition at line 201 of file astContext.hpp.

◆ concat() [1/2]

SharedAbstractNode triton::ast::AstContext::concat ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - concat node builder.

Definition at line 758 of file astContext.cpp.

◆ concat() [2/2]

template<typename T >
SharedAbstractNode triton::ast::AstContext::concat ( const T &  exprs)
inline

AST C++ API - concat node builder.

Definition at line 213 of file astContext.hpp.

◆ declare()

SharedAbstractNode triton::ast::AstContext::declare ( const SharedAbstractNode var)

AST C++ API - declare node builder.

Definition at line 786 of file astContext.cpp.

◆ distinct()

SharedAbstractNode triton::ast::AstContext::distinct ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - distinct node builder.

Definition at line 795 of file astContext.cpp.

◆ equal()

SharedAbstractNode triton::ast::AstContext::equal ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - equal node builder.

Definition at line 804 of file astContext.cpp.

◆ extract()

SharedAbstractNode triton::ast::AstContext::extract ( triton::uint32  high,
triton::uint32  low,
const SharedAbstractNode expr 
)

AST C++ API - extract node builder.

Definition at line 813 of file astContext.cpp.

◆ forall()

template<typename T >
template TRITON_EXPORT SharedAbstractNode triton::ast::AstContext::forall ( const T &  vars,
const SharedAbstractNode body 
)
inline

AST C++ API - forall node builder.

Definition at line 255 of file astContext.hpp.

◆ garbage()

void triton::ast::AstContext::garbage ( void  )

Garbage unused nodes.

Definition at line 65 of file astContext.cpp.

◆ getRepresentationMode()

triton::ast::representations::mode_e triton::ast::AstContext::getRepresentationMode ( void  ) const

Gets the representations mode of this astContext.

Definition at line 1116 of file astContext.cpp.

◆ getVariableNode()

SharedAbstractNode triton::ast::AstContext::getVariableNode ( const std::string &  name)

Gets a variable node from its name.

Definition at line 1085 of file astContext.cpp.

◆ getVariableValue()

const triton::uint512 & triton::ast::AstContext::getVariableValue ( const std::string &  name) const

Gets a variable value from its name.

Definition at line 1098 of file astContext.cpp.

◆ iff()

SharedAbstractNode triton::ast::AstContext::iff ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - iff node builder.

Definition at line 844 of file astContext.cpp.

◆ initVariable()

void triton::ast::AstContext::initVariable ( const std::string &  name,
const triton::uint512 value,
const SharedAbstractNode node 
)

Initializes a variable in the context.

Definition at line 1057 of file astContext.cpp.

◆ integer()

SharedAbstractNode triton::ast::AstContext::integer ( const triton::uint512 value)

AST C++ API - integer node builder.

Definition at line 853 of file astContext.cpp.

◆ ite()

SharedAbstractNode triton::ast::AstContext::ite ( const SharedAbstractNode ifExpr,
const SharedAbstractNode thenExpr,
const SharedAbstractNode elseExpr 
)

AST C++ API - ite node builder.

Definition at line 862 of file astContext.cpp.

◆ land() [1/2]

SharedAbstractNode triton::ast::AstContext::land ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - land node builder.

Definition at line 880 of file astContext.cpp.

◆ land() [2/2]

template<typename T >
SharedAbstractNode triton::ast::AstContext::land ( const T &  exprs)
inline

AST C++ API - land node builder.

Definition at line 276 of file astContext.hpp.

◆ let()

SharedAbstractNode triton::ast::AstContext::let ( std::string  alias,
const SharedAbstractNode expr2,
const SharedAbstractNode expr3 
)

AST C++ API - let node builder.

Definition at line 893 of file astContext.cpp.

◆ lnot()

SharedAbstractNode triton::ast::AstContext::lnot ( const SharedAbstractNode expr)

AST C++ API - lnot node builder.

Definition at line 902 of file astContext.cpp.

◆ lor() [1/2]

SharedAbstractNode triton::ast::AstContext::lor ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - lor node builder.

Definition at line 911 of file astContext.cpp.

◆ lor() [2/2]

template<typename T >
SharedAbstractNode triton::ast::AstContext::lor ( const T &  exprs)
inline

AST C++ API - lor node builder.

Definition at line 294 of file astContext.hpp.

◆ lxor() [1/2]

SharedAbstractNode triton::ast::AstContext::lxor ( const SharedAbstractNode expr1,
const SharedAbstractNode expr2 
)

AST C++ API - lxor node builder.

Definition at line 924 of file astContext.cpp.

◆ lxor() [2/2]

template<typename T >
SharedAbstractNode triton::ast::AstContext::lxor ( const T &  exprs)
inline

AST C++ API - lxor node builder.

Definition at line 306 of file astContext.hpp.

◆ operator=()

AstContext & triton::ast::AstContext::operator= ( const AstContext other)

Operator.

Definition at line 34 of file astContext.cpp.

◆ print()

std::ostream & triton::ast::AstContext::print ( std::ostream &  stream,
AbstractNode node 
)

Prints the node according to the current representation mode.

Definition at line 1121 of file astContext.cpp.

◆ reference()

SharedAbstractNode triton::ast::AstContext::reference ( const triton::engines::symbolic::SharedSymbolicExpression expr)

AST C++ API - reference node builder.

Definition at line 937 of file astContext.cpp.

◆ select() [1/2]

SharedAbstractNode triton::ast::AstContext::select ( const SharedAbstractNode array,
const SharedAbstractNode index 
)

AST C++ API - select node builder.

Definition at line 955 of file astContext.cpp.

◆ select() [2/2]

SharedAbstractNode triton::ast::AstContext::select ( const SharedAbstractNode array,
triton::usize  index 
)

AST C++ API - select node builder.

Definition at line 946 of file astContext.cpp.

◆ setRepresentationMode()

void triton::ast::AstContext::setRepresentationMode ( triton::ast::representations::mode_e  mode)

Sets the representation mode for this astContext.

Definition at line 1111 of file astContext.cpp.

◆ store() [1/2]

SharedAbstractNode triton::ast::AstContext::store ( const SharedAbstractNode array,
const SharedAbstractNode index,
const SharedAbstractNode expr 
)

AST C++ API - store node builder.

Definition at line 973 of file astContext.cpp.

◆ store() [2/2]

SharedAbstractNode triton::ast::AstContext::store ( const SharedAbstractNode array,
triton::usize  index,
const SharedAbstractNode expr 
)

AST C++ API - store node builder.

Definition at line 964 of file astContext.cpp.

◆ string()

SharedAbstractNode triton::ast::AstContext::string ( std::string  value)

AST C++ API - string node builder.

Definition at line 982 of file astContext.cpp.

◆ sx()

SharedAbstractNode triton::ast::AstContext::sx ( triton::uint32  sizeExt,
const SharedAbstractNode expr 
)

AST C++ API - sx node builder.

Definition at line 991 of file astContext.cpp.

◆ updateVariable()

void triton::ast::AstContext::updateVariable ( const std::string &  name,
const triton::uint512 value 
)

Updates a variable value in this context.

Definition at line 1068 of file astContext.cpp.

◆ variable()

SharedAbstractNode triton::ast::AstContext::variable ( const triton::engines::symbolic::SharedSymbolicVariable symVar)

AST C++ API - variable node builder.

Definition at line 1011 of file astContext.cpp.

◆ zx()

SharedAbstractNode triton::ast::AstContext::zx ( triton::uint32  sizeExt,
const SharedAbstractNode expr 
)

AST C++ API - zx node builder.

Definition at line 1037 of file astContext.cpp.


The documentation for this class was generated from the following files: