CVC3
Functions

Private methods

Expression Package
Collaboration diagram for Private methods:

Functions


Function Documentation

size_t CVC3::ExprManager::HashString::operator() ( const std::string &  s) const [inline, inherited]

Definition at line 79 of file expr_manager.h.

CVC3::ExprManager::HashEV::HashEV ( ExprManager em) [inline, inherited]

Definition at line 119 of file expr_manager.h.

size_t CVC3::ExprManager::HashEV::operator() ( ExprValue ev) const [inline, inherited]

Definition at line 120 of file expr_manager.h.

virtual CVC3::ExprManager::TypeComputer::~TypeComputer ( ) [inline, virtual, inherited]

Definition at line 186 of file expr_manager.h.

virtual void CVC3::ExprManager::TypeComputer::computeType ( const Expr e) [pure virtual, inherited]

Compute the type of e.

Implemented in CVC3::TypeComputerCore.

Referenced by CVC3::ExprManager::computeType().

virtual void CVC3::ExprManager::TypeComputer::checkType ( const Expr e) [pure virtual, inherited]

Check that e is a valid Type expr.

Implemented in CVC3::TypeComputerCore.

Referenced by CVC3::ExprManager::checkType().

virtual Cardinality CVC3::ExprManager::TypeComputer::finiteTypeInfo ( Expr e,
Unsigned n,
bool  enumerate,
bool  computeSize 
) [pure virtual, inherited]

Get information related to finiteness of a type.

Implemented in CVC3::TypeComputerCore.

Referenced by CVC3::ExprManager::finiteTypeInfo().

Expr ExprManager::rebuildRec ( const Expr e) [private, inherited]
ExprValue * ExprManager::newExprValue ( ExprValue ev) [private, inherited]
unsigned CVC3::ExprManager::getFlag ( ) [inline, private, inherited]

Return the current Expr flag counter.

Definition at line 213 of file expr_manager.h.

Referenced by CVC3::Expr::setFlag().

unsigned CVC3::ExprManager::nextFlag ( ) [inline, private, inherited]

Increment and return the Expr flag counter (this clears all the flags)

Definition at line 215 of file expr_manager.h.

References FatalAssert.

void ExprManager::computeType ( const Expr e) [private, inherited]
void ExprManager::checkType ( const Expr e) [private, inherited]

Check well-formedness of a type Expr.

Definition at line 472 of file expr_manager.cpp.

References CVC3::ExprManager::TypeComputer::checkType(), CVC3::ExprManager::d_typeComputer, DebugAssert, and CVC3::Expr::isValidType().

Referenced by CVC3::Type::Type().

Cardinality ExprManager::finiteTypeInfo ( Expr e,
Unsigned n,
bool  enumerate,
bool  computeSize 
) [private, inherited]
ExprManager::ExprManager ( ContextManager cm,
const CLFlags flags 
) [inherited]
ExprManager::~ExprManager ( ) [inherited]
void ExprManager::clear ( ) [inherited]

Free up all memory and delete all the expressions.

No more expressions can be created after this point, only destructors ~Expr() can be called.

This method is needed to dis-entangle the mutual dependency of ExprManager and ContextManager, when destructors of ExprValue (sub)classes need to delete backtracking objects, and deleting the ContextManager requires destruction of some remaining Exprs.

Definition at line 141 of file expr_manager.cpp.

References Hash::hash_set< _Key, _HashFcn, _EqualKey >::begin(), Hash::hash_set< _Key, _HashFcn, _EqualKey >::clear(), CVC3::ExprManager::d_bool, CVC3::ExprManager::d_disableGC, CVC3::ExprManager::d_exprSet, CVC3::ExprManager::d_false, CVC3::ExprManager::d_mm, CVC3::ExprManager::d_nullExpr, CVC3::ExprManager::d_true, Hash::hash_set< _Key, _HashFcn, _EqualKey >::end(), CVC3::ExprManager::Expr, FatalAssert, CVC3::ExprValue::getMMIndex(), IF_DEBUG, CVC3::ExprManager::isActive(), CVC3::Expr::isNull(), Hash::hash_set< _Key, _HashFcn, _EqualKey >::size(), TRACE, and TRACE_MSG.

Referenced by CVC3::ExprManager::~ExprManager().

bool ExprManager::isActive ( ) [inherited]

Check if the ExprManager is still active (clear() was not called)

Definition at line 184 of file expr_manager.cpp.

References CVC3::ExprManager::d_disableGC.

Referenced by CVC3::ExprManager::clear(), CVC3::ExprManager::newExprValue(), and CVC3::ExprManager::rebuild().

void ExprManager::gc ( ExprValue ev) [inherited]
void CVC3::ExprManager::postponeGC ( ) [inline, inherited]

Postpone deletion of garbage-collected expressions.

See also:
resumeGC()

Definition at line 257 of file expr_manager.h.

void ExprManager::resumeGC ( ) [inherited]

Resume deletion of garbage-collected expressions.

See also:
postponeGC()

Definition at line 212 of file expr_manager.cpp.

References CVC3::ExprManager::d_mm, CVC3::ExprManager::d_postponed, CVC3::ExprManager::d_postponeGC, and CVC3::ExprValue::getMMIndex().

Expr ExprManager::rebuild ( const Expr e) [inherited]
ExprIndex CVC3::ExprManager::nextIndex ( ) [inline, inherited]

Return the next Expr index.

It should be used only by ExprValue() constructor

Definition at line 268 of file expr_manager.h.

Referenced by CVC3::ExprManager::newExprValue(), and CVC3::ExprManager::rebuildRec().

ExprIndex CVC3::ExprManager::lastIndex ( ) [inline, inherited]

Definition at line 269 of file expr_manager.h.

Referenced by CVC3::Expr::hasLastIndex().

void CVC3::ExprManager::clearFlags ( ) [inline, inherited]

Clears the generic Expr flag in all Exprs.

Definition at line 272 of file expr_manager.h.

Referenced by CVC3::Expr::clearFlags().

const Expr& CVC3::ExprManager::boolExpr ( ) [inline, inherited]

BOOLEAN Expr.

Definition at line 276 of file expr_manager.h.

Referenced by CVC3::TheoryCore::parseExprOp(), and CVC3::Type::sizeFinite().

const Expr& CVC3::ExprManager::falseExpr ( ) [inline, inherited]
const Expr& CVC3::ExprManager::trueExpr ( ) [inline, inherited]
const std::vector<Expr>& CVC3::ExprManager::getEmptyVector ( ) [inline, inherited]

References to empty objects (used in ExprValue)

Definition at line 282 of file expr_manager.h.

Referenced by CVC3::Expr::begin(), CVC3::Expr::end(), and CVC3::Expr::getKids().

const Expr& CVC3::ExprManager::getNullExpr ( ) [inline, inherited]

References to empty objects (used in ExprValue)

Definition at line 284 of file expr_manager.h.

Expr CVC3::ExprManager::newExpr ( ExprValue ev) [inline, inherited]
Expr CVC3::ExprManager::newLeafExpr ( const Op op) [inline, inherited]
Expr CVC3::ExprManager::newStringExpr ( const std::string &  s) [inline, inherited]
Expr CVC3::ExprManager::newRatExpr ( const Rational r) [inline, inherited]
Expr CVC3::ExprManager::newSkolemExpr ( const Expr e,
int  i 
) [inline, inherited]

Definition at line 475 of file expr_manager.h.

References DebugAssert, CVC3::Expr::getEM(), and CVC3::ExprManager::newExpr().

Referenced by CVC3::Expr::skolemExpr().

Expr CVC3::ExprManager::newVarExpr ( const std::string &  s) [inline, inherited]
Expr CVC3::ExprManager::newSymbolExpr ( const std::string &  s,
int  kind 
) [inline, inherited]
Expr CVC3::ExprManager::newBoundVarExpr ( const std::string &  name,
const std::string &  uid 
) [inline, inherited]
Expr CVC3::ExprManager::newBoundVarExpr ( const std::string &  name,
const std::string &  uid,
const Type type 
) [inline, inherited]
Expr CVC3::ExprManager::newBoundVarExpr ( const Type type) [inline, inherited]

Definition at line 500 of file expr_manager.h.

Expr CVC3::ExprManager::newClosureExpr ( int  kind,
const Expr var,
const Expr body 
) [inline, inherited]
Expr CVC3::ExprManager::newClosureExpr ( int  kind,
const std::vector< Expr > &  vars,
const Expr body 
) [inline, inherited]

Definition at line 512 of file expr_manager.h.

References CVC3::ExprManager::newExpr().

Expr CVC3::ExprManager::newClosureExpr ( int  kind,
const std::vector< Expr > &  vars,
const Expr body,
const Expr trigger 
) [inline, inherited]

Definition at line 531 of file expr_manager.h.

References CVC3::ExprManager::newExpr(), and CVC3::Expr::setTrigger().

Expr CVC3::ExprManager::newClosureExpr ( int  kind,
const std::vector< Expr > &  vars,
const Expr body,
const std::vector< Expr > &  triggers 
) [inline, inherited]

Definition at line 517 of file expr_manager.h.

References CVC3::ExprManager::newExpr(), and CVC3::Expr::setTriggers().

Expr CVC3::ExprManager::newClosureExpr ( int  kind,
const std::vector< Expr > &  vars,
const Expr body,
const std::vector< std::vector< Expr > > &  triggers 
) [inline, inherited]

Definition at line 524 of file expr_manager.h.

References CVC3::ExprManager::newExpr(), and CVC3::Expr::setTriggers().

Expr CVC3::ExprManager::andExpr ( const std::vector< Expr > &  children) [inline, inherited]

Definition at line 312 of file expr_manager.h.

References AND.

Expr CVC3::ExprManager::orExpr ( const std::vector< Expr > &  children) [inline, inherited]

Definition at line 314 of file expr_manager.h.

References OR.

size_t CVC3::ExprManager::hash ( const Expr e) const [inline, inherited]

Hash function for a single Expr.

Definition at line 543 of file expr_manager.h.

ContextManager* CVC3::ExprManager::getCM ( ) const [inline, inherited]

Fetch our ContextManager.

Definition at line 322 of file expr_manager.h.

Context* CVC3::ExprManager::getCurrentContext ( ) const [inline, inherited]

Get the current context from our ContextManager.

Definition at line 324 of file expr_manager.h.

Referenced by CVC3::Expr::setEqNext(), CVC3::Expr::setFind(), CVC3::Expr::setRep(), and CVC3::Expr::setSig().

int CVC3::ExprManager::scopelevel ( ) [inline, inherited]

Get current scope level.

Definition at line 326 of file expr_manager.h.

void CVC3::ExprManager::setTM ( TheoremManager tm) [inline, inherited]

Set the TheoremManager.

Definition at line 329 of file expr_manager.h.

TheoremManager* CVC3::ExprManager::getTM ( ) const [inline, inherited]

Fetch the TheoremManager.

Definition at line 331 of file expr_manager.h.

MemoryManager* CVC3::ExprManager::getMM ( size_t  MMIndex) [inline, inherited]
unsigned CVC3::ExprManager::getSimpCacheTag ( ) const [inline, inherited]

Get the simplifier's cache tag.

Definition at line 339 of file expr_manager.h.

Referenced by CVC3::Expr::setSimpCache(), and CVC3::Expr::validSimpCache().

void CVC3::ExprManager::invalidateSimpCache ( ) [inline, inherited]
void CVC3::ExprManager::registerTypeComputer ( TypeComputer typeComputer) [inline, inherited]

Register type computer.

Definition at line 344 of file expr_manager.h.

Referenced by CVC3::TheoryCore::TheoryCore().

int CVC3::ExprManager::printDepth ( ) const [inline, inherited]

Get printing depth.

Definition at line 348 of file expr_manager.h.

bool CVC3::ExprManager::withIndentation ( ) const [inline, inherited]

Whether to print with indentation.

Definition at line 350 of file expr_manager.h.

int CVC3::ExprManager::lineWidth ( ) const [inline, inherited]

Suggested line width for printing with indentation.

Definition at line 352 of file expr_manager.h.

int CVC3::ExprManager::indent ( ) const [inline, inherited]

Get initial indentation.

Definition at line 354 of file expr_manager.h.

Referenced by CVC3::ExprStream::ExprStream().

int ExprManager::indent ( int  n,
bool  permanent = false 
) [inherited]

Set initial indentation. Returns the previous permanent value.

Definition at line 334 of file expr_manager.cpp.

References CVC3::ExprManager::d_indent, and CVC3::ExprManager::d_indentTransient.

int ExprManager::incIndent ( int  n,
bool  permanent = false 
) [inherited]

Increment the current transient indentation by n.

If the second argument is true, sets the result as permanent.

Returns:
previous permanent value.

Definition at line 345 of file expr_manager.cpp.

References CVC3::ExprManager::d_indent, and CVC3::ExprManager::d_indentTransient.

void CVC3::ExprManager::restoreIndent ( ) [inline, inherited]

Set transient indentation to permanent.

Definition at line 362 of file expr_manager.h.

Referenced by CVC3::operator<<().

InputLanguage ExprManager::getInputLang ( ) const [inherited]

Get the input language for printing.

Definition at line 354 of file expr_manager.cpp.

References CVC3::ExprManager::d_inputLang, and CVC3::getLanguage().

Referenced by CVC3::VCCmd::evaluateCommand(), and main().

InputLanguage ExprManager::getOutputLang ( ) const [inherited]
bool CVC3::ExprManager::dagPrinting ( ) const [inline, inherited]

Whether to print Expr's as DAGs.

Definition at line 368 of file expr_manager.h.

PrettyPrinter* CVC3::ExprManager::getPrinter ( ) const [inline, inherited]

Return the pretty-printer if there is one; otherwise return NULL.

Definition at line 371 of file expr_manager.h.

Referenced by CVC3::operator<<().

void ExprManager::newKind ( int  kind,
const std::string &  name,
bool  isType = false 
) [inherited]
void ExprManager::registerPrettyPrinter ( PrettyPrinter printer) [inherited]

Register the pretty-printer (can only do it if none registered)

The pointer is NOT owned by ExprManager. Delete it yourself.

Definition at line 391 of file expr_manager.cpp.

References CVC3::ExprManager::d_prettyPrinter, and DebugAssert.

Referenced by CVC3::TheoryCore::TheoryCore().

void ExprManager::unregisterPrettyPrinter ( ) [inherited]

Tell ExprManager that the printer is no longer valid.

Definition at line 398 of file expr_manager.cpp.

References CVC3::ExprManager::d_prettyPrinter, and FatalAssert.

Referenced by CVC3::TheoryCore::~TheoryCore().

bool CVC3::ExprManager::isKindRegistered ( int  kind) [inline, inherited]

Returns true if kind is built into CVC or has been registered via newKind.

Definition at line 392 of file expr_manager.h.

Referenced by CVC3::ExprValue::ExprValue().

bool CVC3::ExprManager::isTypeKind ( int  kind) [inline, inherited]

Check if a kind represents a type.

Definition at line 394 of file expr_manager.h.

Referenced by CVC3::Expr::isType().

const string & ExprManager::getKindName ( int  kind) [inherited]
int ExprManager::getKind ( const std::string &  name) [inherited]
size_t ExprManager::registerSubclass ( size_t  sizeOfSubclass) [inherited]

Register a new subclass of ExprValue.

Takes the size (in bytes) of the new subclass and returns the unique index of that subclass. Subsequent calls to the subclass's getMMIndex() must return that index.

Definition at line 421 of file expr_manager.cpp.

References CVC3::ExprManager::d_mm, CVC3::ExprManager::d_mmFlag, and FatalAssert.

Referenced by CVC3::TheoryBitvector::TheoryBitvector().

unsigned long ExprManager::getMemory ( int  verbosity) [inherited]
CVC3::ExprManagerNotifyObj::ExprManagerNotifyObj ( ExprManager em,
Context cxt 
) [inline, inherited]

Constructor.

Definition at line 433 of file expr_manager.h.

Referenced by CVC3::ExprManagerNotifyObj::getMemory().

void ExprManagerNotifyObj::notifyPre ( void  ) [virtual, inherited]

Reimplemented from CVC3::ContextNotifyObj.

Definition at line 657 of file expr_manager.cpp.

void ExprManagerNotifyObj::notify ( void  ) [virtual, inherited]

Reimplemented from CVC3::ContextNotifyObj.

Definition at line 662 of file expr_manager.cpp.

unsigned long CVC3::ExprManagerNotifyObj::getMemory ( int  verbosity) [inline, virtual, inherited]

Reimplemented from CVC3::ContextNotifyObj.

Definition at line 438 of file expr_manager.h.

References CVC3::ExprManagerNotifyObj::ExprManagerNotifyObj().

bool CVC3::ExprManager::EqEV::operator() ( const ExprValue ev1,
const ExprValue ev2 
) const [inline, inherited]

Definition at line 538 of file expr_manager.h.