Class SymbolicExpr#
Defined in File SymbolicExpr.h
Inheritance Relationships#
Base Types#
public SymbolicValImpl(Class SymbolicValImpl)public CountRefHandle< SymbolicOperands >(Template Class CountRefHandle)
Derived Types#
public SymbolicMultiply(Class SymbolicMultiply)public SymbolicPlus(Class SymbolicPlus)public SymbolicSelect(Class SymbolicSelect)
Class Documentation#
-
class SymbolicExpr : public SymbolicValImpl, public CountRefHandle<SymbolicOperands>#
Subclassed by SymbolicMultiply, SymbolicPlus, SymbolicSelect
Public Types
-
typedef LatticeElemList<SymbolicTerm>::iterator OpdIterator#
Public Functions
-
inline SymbolicTerm Val2Term(const SymbolicVal &v) const#
-
inline SymbolicVal Term2Val(const SymbolicTerm &tm) const#
-
void AddOpd(const SymbolicTerm &v, OPApplicator *op = 0)#
-
void AddOpd(const SymbolicVal &v, OPApplicator *op = 0)#
-
virtual void ApplyOpd(const SymbolicVal &v) = 0#
-
virtual SymbolicExpr *DistributeExpr(SymOpType t, const SymbolicVal &that) const = 0#
-
inline virtual void Visit(SymbolicVisitor *op) const#
-
inline virtual SymbolicValImpl *Clone() const#
-
virtual std::string toString() const#
-
inline virtual SymbolicValType GetValType() const#
-
inline virtual std::string GetTypeName() const#
-
inline void push_back(const SymbolicVal &v)#
-
virtual std::string GetOPName() const = 0#
-
virtual SymbolicExpr *CloneExpr() const = 0#
-
virtual AstNodePtr CodeGenOP(AstInterface &fa, const AstNodePtr &a1, const AstNodePtr &a2) const = 0#
-
inline virtual AstNodePtr CodeGen(AstInterface &fa) const#
-
SymbolicVal GetUnknownOpds() const#
-
bool GetConstOpd(int &val1, int &val2) const#
-
unsigned NumOfOpds() const#
-
OpdIterator GetOpdIterator() const#
-
SymbolicTerm &FirstOpd() const#
-
bool operator==(const SymbolicExpr &that) const#
-
typedef LatticeElemList<SymbolicTerm>::iterator OpdIterator#