ilang  0.9.1
ILAng: A Modeling and Verification Platform for SoCs
Public Types | Public Member Functions | List of all members
ilang::Ast Class Referenceabstract

The class for the Abstract Syntax Tree. An Ast object can be an expression or function definition (interpreted or uninterpreted). More...

#include <ast.h>

Inheritance diagram for ilang::Ast:
ilang::Object ilang::Expr ilang::Func ilang::Sort ilang::ExprConst ilang::ExprOp ilang::ExprVar ilang::SortBool ilang::SortBv ilang::SortMem ilang::ExprOpAdd ilang::ExprOpAnd ilang::ExprOpAppFunc ilang::ExprOpAshr ilang::ExprOpCompl ilang::ExprOpConcat ilang::ExprOpEq ilang::ExprOpExtract ilang::ExprOpGt ilang::ExprOpImply ilang::ExprOpIte ilang::ExprOpLoad ilang::ExprOpLshr ilang::ExprOpLt ilang::ExprOpMul ilang::ExprOpNeg ilang::ExprOpNot ilang::ExprOpOr ilang::ExprOpSExt ilang::ExprOpShl ilang::ExprOpStore ilang::ExprOpSub ilang::ExprOpUgt ilang::ExprOpUlt ilang::ExprOpXor ilang::ExprOpZExt

Public Types

typedef std::shared_ptr< InstrLvlAbsInstrLvlAbsPtr
 Type for forward declaration of ILA.
 
- Public Types inherited from ilang::Object
typedef std::shared_ptr< ObjectObjPtr
 Pointer type for normal use of Object.
 

Public Member Functions

 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_expr () const
 Is type Ast::Expr.
 
virtual bool is_func () const
 Is type Ast::Func.
 
InstrLvlAbsPtr host () const
 Return the hosting ILA.
 
void set_host (InstrLvlAbsPtr host)
 Set the hosting ILA.
 
virtual std::ostream & Print (std::ostream &out) const =0
 Output function.
 
- Public Member Functions inherited from ilang::Object
 Object ()
 Default constructor.
 
 Object (const std::string &name)
 Constructor with string name.
 
virtual ~Object ()
 Default destructor.
 
const Symbolname () const
 Get the symbol (name).
 
virtual bool is_instr_lvl_abs () const
 Is type InstrLvlAbs.
 
virtual bool is_instr () const
 Is type Instr.
 

Detailed Description

The class for the Abstract Syntax Tree. An Ast object can be an expression or function definition (interpreted or uninterpreted).


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