ilang  1.1.4
ILAng: A Modeling and Verification Platform for SoCs
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros
Public Member Functions | Protected Types | 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::ExprOpDiv ilang::ExprOpEq ilang::ExprOpExtract ilang::ExprOpGt ilang::ExprOpImply ilang::ExprOpIte ilang::ExprOpLoad ilang::ExprOpLRotate ilang::ExprOpLshr ilang::ExprOpLt ilang::ExprOpMul ilang::ExprOpNeg ilang::ExprOpNot ilang::ExprOpOr ilang::ExprOpRRotate ilang::ExprOpSExt ilang::ExprOpShl ilang::ExprOpSMod ilang::ExprOpSRem ilang::ExprOpStore ilang::ExprOpSub ilang::ExprOpUgt ilang::ExprOpUlt ilang::ExprOpURem ilang::ExprOpXor ilang::ExprOpZExt

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 (const 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.
 

Protected Types

typedef std::shared_ptr
< InstrLvlAbs
InstrLvlAbsPtr
 Type for forward declaration of ILA.
 

Additional Inherited Members

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

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: