ilang
1.1.4
ILAng: A Modeling and Verification Platform for SoCs
|
The class wrapper for bitvector extraction. More...
#include <expr_op.h>
Public Member Functions | |
ExprOpExtract (const ExprPtr &bv, const int &hi, const int &lo) | |
Constructor for bitvector extraction. | |
AstUidExprOp | uid () const |
Return the unified ID of the corresponding operation. | |
z3::expr | GetZ3Expr (z3::context &ctx, const Z3ExprVec &expr_vec, const std::string &suffix) const |
Return the z3 expression for the node. | |
![]() | |
ExprOp (const ExprPtr &arg) | |
Constructor for unary operators. | |
ExprOp (const ExprPtr &arg0, const ExprPtr &arg1) | |
Constructor for binary operators. | |
ExprOp (const ExprPtr &arg0, const ExprPtr &arg1, const ExprPtr &arg2) | |
Constructor for ternary operators. | |
ExprOp (const ExprPtr &arg0, const int ¶m1) | |
Constructor for binary operators with parameters. | |
ExprOp (const ExprPtr &arg0, const int ¶m1, const int ¶m2) | |
Constructor for ternary operators with parameters. | |
ExprOp (const ExprPtrVec &args) | |
Constructor for multiple argument operators (AppFunc). | |
virtual | ~ExprOp () |
Default destructor. | |
std::string | op_name () const |
Return the name of the operation. | |
bool | is_op () const |
Return trus since this is an operation. | |
std::ostream & | Print (std::ostream &out) const |
Output to stream. | |
![]() | |
Expr () | |
Default constructor. | |
Expr (const std::string &name) | |
Constructor with name. | |
virtual | ~Expr () |
Default destructor. | |
const SortPtr | sort () const |
Return the pointer of the sort. | |
size_t | arg_num () const |
Retrun the number of argument (arity). | |
ExprPtr | arg (const size_t &i) const |
Return the i-th argument. | |
size_t | param_num () const |
Return the number of parameters. | |
int | param (const size_t &i) const |
Return the i-th paramter. | |
void | set_sort (const SortPtr sort) |
Set the sort of the expression. | |
void | set_args (const ExprPtrVec &args) |
Set the arguments. | |
void | set_params (const std::vector< int > params) |
Set the parameters. | |
void | replace_arg (const int &idx, const ExprPtr &arg) |
Replace the i-th argument. | |
void | replace_arg (const ExprPtr &a, const ExprPtr &b) |
Replace the "a" argument with "b" argument with "exist". | |
bool | is_expr () const |
Is type expr (object). | |
virtual bool | is_const () const |
Return true if this is a constant. | |
virtual bool | is_var () const |
Return true if this is a variable. | |
bool | is_bool () const |
Return true if this is a Boolean expression. | |
bool | is_bv (const int &width=0) const |
Return true if this is a Bitvector expression. | |
bool | is_mem () const |
Return true if this is an Array expression. | |
template<class F > | |
void | DepthFirstVisit (F &func) |
Templated visitor: visit each node in a depth-first order and apply the function object F on it. | |
template<class F > | |
void | DepthFirstVisitPrePost (F &func) |
Templated visitor: visit each node in a depth-first order and apply the function object F pre/pose on it. | |
![]() | |
Ast () | |
Default constructor. | |
Ast (const std::string &name) | |
Constructor with name. | |
virtual | ~Ast () |
Default destructor. | |
bool | is_ast () const |
Is type Ast. | |
virtual bool | is_func () const |
Is type Ast::Func. | |
InstrLvlAbsPtr | host () const |
Return the hosting ILA. | |
void | set_host (const InstrLvlAbsPtr &host) |
Set the hosting ILA. | |
![]() | |
Object () | |
Default constructor. | |
Object (const std::string &name) | |
Constructor with string name. | |
virtual | ~Object () |
Default destructor. | |
const Symbol & | name () const |
Get the symbol (name). | |
virtual bool | is_instr_lvl_abs () const |
Is type InstrLvlAbs. | |
virtual bool | is_instr () const |
Is type Instr. | |
Additional Inherited Members | |
![]() | |
typedef std::shared_ptr< Expr > | ExprPtr |
Pointer type for normal use of Expr. | |
typedef std::vector< ExprPtr > | ExprPtrVec |
Type for storing a set of Expr. | |
![]() | |
typedef std::shared_ptr< Object > | ObjPtr |
Pointer type for normal use of Object. | |
![]() | |
typedef std::vector< z3::expr > | Z3ExprVec |
Vector type for z3 expression. | |
![]() | |
typedef std::shared_ptr < InstrLvlAbs > | InstrLvlAbsPtr |
Type for forward declaration of ILA. | |
![]() | |
SortPtr | GetSortBinaryOperation (const ExprPtr &e0, const ExprPtr &e1) |
Derived the sort for binary operations. | |
SortPtr | GetSortBinaryComparison (const ExprPtr &e0, const ExprPtr &e1) |
Derived the sort for binary comparisons. | |
The class wrapper for bitvector extraction.