Expr
From CVC4
Revision as of 15:34, 6 December 2012 by Taking (Talk | contribs) (Created page with "Expr is CVC4's public-facing symbolic expression interface. Exprs are linked to a an ExprManager. ExprManagers take care of memory management for Exprs (allocation, garbage coll…")
Expr is CVC4's public-facing symbolic expression interface. Exprs are linked to a an ExprManager. ExprManagers take care of memory management for Exprs (allocation, garbage collection, etc.)
Const
CVC4 supports making constant expressions for a number of different types: true, 5, 0bin0100, etc. To make a constant expression for an ExprManager em, use mkConst(const T&);
for T.
Commonly used types T that can be used with mkConst(const T&):
- bool
- CVC4::Rational
- CVC4::BitVector
- std::string
- CVC4::Datatype
mkConst() allows for arbitrary other kinds to be included into the expr system. Must of the types T for use with mkConst() is to internally break out of the expr system:
- bv
- CVC4::BitVector
- CVC4::BitVectorSize
- CVC4::BitVectorBitOf
- CVC4::BitVectorExtract
- CVC4::BitVectorRepeat
- CVC4::BitVectorZeroExtend
- CVC4::BitVectorSignExtend
- CVC4::BitVectorRotateLeft
- CVC4::BitVectorRotateRight
- datatypes
- CVC4::Datatype
- CVC4::AscriptionType
- CVC4::TupleSelect
- CVC4::TupleUpdate
- CVC4::Record
- CVC4::RecordSelect
- CVC4::RecordUpdate
- builtin
- ::CVC4::UninterpretedConstant
- uf
- (See builtin)
- CVC4::Predicate
- CVC4::Rational
- CVC4::SubrangeBounds
- CVC4::UninterpretedConstant
- CVC4::AbstractValue
- CVC4::Kind
- CVC4::TypeConstant
- CVC4::ArrayStoreAll (INTERNAL)
- CVC4::TypeConstant (internal)