Private methods
[Expression Package]

Collaboration diagram for Private methods:

Functions


Function Documentation

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

Definition at line 83 of file expr_manager.h.

References CVCL::ExprManager::HashString::h.

CVCL::ExprManager::HashEV::HashEV ExprManager em  )  [inline, inherited]
 

Definition at line 123 of file expr_manager.h.

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

Definition at line 124 of file expr_manager.h.

References CVCL::ExprManager::HashEV::d_em, and CVCL::ExprManager::hash().

virtual CVCL::ExprManager::TypeComputer::~TypeComputer  )  [inline, virtual, inherited]
 

Definition at line 184 of file expr_manager.h.

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

Compute the type of e.

Implemented in CVCL::TypeComputerCore.

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

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

Check that e is a valid Type expr.

Implemented in CVCL::TypeComputerCore.

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

Expr ExprManager::rebuildRec const Expr e  )  [private, inherited]
 

Cached recursive descent. Must be called only during rebuild().

Definition at line 215 of file expr_manager.cpp.

References CVCL::Expr::d_expr, CVCL::ExprManager::d_exprSet, CVCL::ExprManager::d_rebuildCache, CVCL::ExprValue::d_type, CVCL::MemoryManager::deleteData(), CVCL::ExprHashMap< Data >::end(), CVCL::ExprHashMap< Data >::find(), CVCL::Type::getExpr(), CVCL::ExprManager::getMM(), CVCL::ExprManager::installExprValue(), CVCL::Type::isNull(), CVCL::ExprManager::nextIndex(), CVCL::ExprValue::rebuild(), CVCL::Expr::toString(), and CVCL::ExprManager::Type.

Referenced by CVCL::ExprValue::rebuild(), and CVCL::ExprManager::rebuild().

ExprValue * ExprManager::newExprValue ExprValue ev  )  [private, inherited]
 

Return either an existing or a new ExprValue matching ev.

Definition at line 253 of file expr_manager.cpp.

References CVCL::ExprValue::copy(), CVCL::ExprManager::d_exprSet, CVCL::ExprManager::installExprValue(), CVCL::ExprManager::isActive(), and CVCL::ExprManager::nextIndex().

Referenced by CVCL::Expr::Expr(), and CVCL::ExprManager::newExpr().

unsigned CVCL::ExprManager::getFlag  )  [inline, private, inherited]
 

Return the current Expr flag counter.

Definition at line 208 of file expr_manager.h.

References CVCL::ExprManager::d_flagCounter.

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

unsigned CVCL::ExprManager::nextFlag  )  [inline, private, inherited]
 

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

Definition at line 210 of file expr_manager.h.

References CVCL::ExprManager::d_flagCounter.

Referenced by CVCL::ExprManager::clearFlags().

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

Compute the type of the Expr.

Definition at line 436 of file expr_manager.cpp.

References CVCL::ExprManager::TypeComputer::computeType(), CVCL::ExprManager::d_typeComputer, CVCL::Type::getExpr(), CVCL::Expr::getType(), and CVCL::Expr::isNull().

Referenced by CVCL::Expr::getType().

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

Check well-formedness of a type Expr.

Definition at line 443 of file expr_manager.cpp.

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

Referenced by CVCL::Type::Type().

ExprManager::ExprManager ContextManager cm,
const CLFlags flags
[inherited]
 

Constructor.

Definition at line 45 of file expr_manager.cpp.

References CVCL::BOOLEAN, CVCL::ExprManager::d_bool, CVCL::ExprManager::d_cm, CVCL::ExprManager::d_false, CVCL::ExprManager::d_mm, CVCL::ExprManager::d_mmFlag, CVCL::ExprManager::d_notifyObj, CVCL::ExprManager::d_true, CVCL::EXPR_APPLY, CVCL::EXPR_BOUND_VAR, CVCL::EXPR_CLOSURE, CVCL::EXPR_NODE, CVCL::EXPR_RATIONAL, CVCL::EXPR_SKOLEM, CVCL::EXPR_STRING, CVCL::EXPR_SYMBOL, CVCL::EXPR_UCONST, CVCL::EXPR_VALUE, CVCL::FALSE, CVCL::ContextManager::getCurrentContext(), CVCL::ExprManager::IF_DEBUG(), CVCL::ExprManager::newLeafExpr(), registerKinds(), CVCL::Expr::setType(), CVCL::TRUE, and CVCL::Type::typeBool().

ExprManager::~ExprManager  )  [inherited]
 

Destructor.

Definition at line 100 of file expr_manager.cpp.

References CVCL::ExprManager::clear(), CVCL::ExprManager::d_disableGC, CVCL::ExprManager::d_emptyVec, CVCL::ExprManager::d_mm, and CVCL::ExprManager::d_notifyObj.

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 116 of file expr_manager.cpp.

References CVCL::ExprManager::d_bool, CVCL::ExprManager::d_disableGC, CVCL::ExprManager::d_exprSet, CVCL::ExprManager::d_false, CVCL::ExprManager::d_mm, CVCL::ExprManager::d_nullExpr, CVCL::ExprManager::d_true, CVCL::ExprManager::Expr, CVCL::ExprValue::getMMIndex(), CVCL::ExprManager::IF_DEBUG(), CVCL::ExprManager::isActive(), CVCL::Expr::isNull(), and CVCL::TRACE.

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

bool ExprManager::isActive  )  [inherited]
 

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

Definition at line 159 of file expr_manager.cpp.

References CVCL::ExprManager::d_disableGC.

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

void ExprManager::gc ExprValue ev  )  [inherited]
 

Garbage collect the ExprValue pointer.

Definition at line 163 of file expr_manager.cpp.

References CVCL::ExprManager::d_disableGC, CVCL::ExprManager::d_exprSet, CVCL::ExprManager::d_mm, CVCL::ExprManager::d_postponed, CVCL::ExprManager::d_postponeGC, and CVCL::ExprValue::getMMIndex().

Referenced by CVCL::ExprValue::decRefcount().

void CVCL::ExprManager::postponeGC  )  [inline, inherited]
 

Postpone deletion of garbage-collected expressions.

See also:
resumeGC()

Definition at line 241 of file expr_manager.h.

References CVCL::ExprManager::d_postponeGC.

Referenced by CVCL::ExprManagerNotifyObj::notifyPre().

void ExprManager::resumeGC  )  [inherited]
 

Resume deletion of garbage-collected expressions.

See also:
postponeGC()

Definition at line 176 of file expr_manager.cpp.

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

Referenced by CVCL::ExprManagerNotifyObj::notify().

Expr ExprManager::rebuild const Expr e  )  [inherited]
 

Rebuild the Expr with this ExprManager if it belongs to another ExprManager.

Definition at line 190 of file expr_manager.cpp.

References CVCL::ExprHashMap< Data >::clear(), CVCL::ExprManager::d_rebuildCache, CVCL::Expr::getEM(), CVCL::ExprManager::IF_DEBUG(), CVCL::ExprManager::isActive(), CVCL::Expr::isNull(), CVCL::ExprManager::rebuildRec(), CVCL::ExprHashMap< Data >::size(), and CVCL::TRACE.

Referenced by CVCL::VCL::importExpr(), CVCL::VCL::importType(), CVCL::Op::Op(), and CVCL::Expr::rebuild().

ExprIndex CVCL::ExprManager::nextIndex  )  [inline, inherited]
 

Return the next Expr index.

It should be used only by ExprValue() constructor

Definition at line 252 of file expr_manager.h.

References CVCL::ExprManager::d_index.

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

ExprIndex CVCL::ExprManager::lastIndex  )  [inline, inherited]
 

Definition at line 253 of file expr_manager.h.

References CVCL::ExprManager::d_index.

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

void CVCL::ExprManager::clearFlags  )  [inline, inherited]
 

Clears the generic Expr flag in all Exprs.

Definition at line 256 of file expr_manager.h.

References CVCL::ExprManager::nextFlag().

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

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

BOOLEAN Expr.

Definition at line 260 of file expr_manager.h.

References CVCL::ExprManager::d_bool.

Referenced by TheoryCore::parseExprOp(), and CVCL::Type::typeBool().

const Expr& CVCL::ExprManager::falseExpr  )  [inline, inherited]
 

FALSE Expr.

Definition at line 262 of file expr_manager.h.

References CVCL::ExprManager::d_false.

Referenced by CVCL::CoreTheoremProducer::AndToIte(), CVCL::TheorySimulate::computeTCC(), CVCL::SearchEngineTheoremProducer::confAndrAF(), CVCL::SearchEngineTheoremProducer::confAndrAT(), CVCL::SearchEngineTheoremProducer::confIffr(), CVCL::SearchEngineTheoremProducer::confIterIfThen(), CVCL::SearchEngineTheoremProducer::confIterThenElse(), CVCL::SearchEngineTheoremProducer::conflictRule(), CVCL::ArithTheoremProducer::constPredicate(), CVCL::CommonTheoremProducer::contradictionRule(), CVCL::ArithTheoremProducer::expandGrayShadowConst(), CVCL::VCL::falseExpr(), CVCL::Theory::falseExpr(), CVCL::ArithTheoremProducer::grayShadowConst(), CVCL::CommonTheoremProducer::iffNotFalse(), CVCL::CoreTheoremProducer::IffToIte(), CVCL::ArithTheoremProducer::intVarEqnConst(), CVCL::ArithTheoremProducer::isIntConst(), CVCL::CommonTheoremProducer::notToIff(), CVCL::CoreTheoremProducer::NotToIte(), CVCL::CoreTheoremProducer::OrToIte(), TheoryCore::parseExprOp(), TheoryCore::rewrite(), CVCL::CommonTheoremProducer::rewriteAnd(), CVCL::CommonTheoremProducer::rewriteIff(), CVCL::CoreTheoremProducer::rewriteIteCond(), CVCL::CommonTheoremProducer::rewriteNotTrue(), CVCL::CommonTheoremProducer::rewriteOr(), and CVCL::CoreTheoremProducer::rewriteOrSubterms().

const Expr& CVCL::ExprManager::trueExpr  )  [inline, inherited]
 

TRUE Expr.

Definition at line 264 of file expr_manager.h.

References CVCL::ExprManager::d_true.

Referenced by CVCL::CoreTheoremProducer::AndToIte(), TheoryCore::computeModelBasic(), CVCL::TheorySimulate::computeTCC(), TheoryCore::computeTypePred(), CVCL::TheoryArith::computeTypePred(), CVCL::Theory::computeTypePred(), CVCL::ArithTheoremProducer::constPredicate(), CVCL::CoreTheoremProducer::IffToIte(), CVCL::CommonTheoremProducer::iffTrue(), CVCL::CoreTheoremProducer::ImpToIte(), CVCL::ArithTheoremProducer::isIntConst(), CVCL::CoreTheoremProducer::NotToIte(), CVCL::CoreTheoremProducer::OrToIte(), TheoryCore::parseExprOp(), TheoryCore::rewrite(), CVCL::CommonTheoremProducer::rewriteAnd(), CVCL::CoreTheoremProducer::rewriteAndSubterms(), CVCL::CoreTheoremProducer::rewriteIteCond(), CVCL::CommonTheoremProducer::rewriteNotFalse(), CVCL::CommonTheoremProducer::rewriteOr(), CVCL::CommonTheoremProducer::rewriteReflexivity(), CVCL::VCL::trueExpr(), CVCL::Theory::trueExpr(), and CVCL::CommonTheoremProducer::trueTheorem().

const std::vector<Expr>& CVCL::ExprManager::getEmptyVector  )  [inline, inherited]
 

References to empty objects (used in ExprValue).

Definition at line 266 of file expr_manager.h.

References CVCL::ExprManager::d_emptyVec.

Referenced by CVCL::ExprValue::getKids(), and CVCL::Expr::getKids().

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

References to empty objects (used in ExprValue).

Definition at line 268 of file expr_manager.h.

References CVCL::ExprManager::d_nullExpr.

Expr CVCL::ExprManager::newExpr ExprValue ev  )  [inline, inherited]
 

Return either an existing or a new Expr matching ev.

Definition at line 273 of file expr_manager.h.

References CVCL::ExprManager::Expr, and CVCL::ExprManager::newExprValue().

Referenced by CVCL::ExprManager::newBoundVarExpr(), CVCL::TheoryBitvector::newBVConstExpr(), CVCL::ExprManager::newClosureExpr(), CVCL::ExprManager::newLeafExpr(), CVCL::ExprManager::newRatExpr(), CVCL::ExprManager::newSkolemExpr(), CVCL::ExprManager::newStringExpr(), CVCL::ExprManager::newSymbolExpr(), and CVCL::ExprManager::newVarExpr().

Expr CVCL::ExprManager::newLeafExpr const Op op  )  [inline, inherited]
 

Definition at line 417 of file expr_manager.h.

References CVCL::Expr::getEM(), CVCL::Op::getExpr(), CVCL::Op::getKind(), CVCL::Expr::isNull(), and CVCL::ExprManager::newExpr().

Referenced by CVCL::ExprStream::addLetHeader(), CVCL::VCL::checkContinue(), CVCL::SearchEngineTheoremProducer::eliminateSkolemAxioms(), CVCL::ExprManager::ExprManager(), CVCL::VCL::getClosure(), CVCL::VCL::getConcreteModel(), CVCL::VCL::getProof(), CVCL::VCL::getProofClosure(), CVCL::VCL::getProofTCC(), CVCL::VCL::getTCC(), TheoryCore::parseExprOp(), CVCL::TheoryArith::parseExprOp(), CVCL::VCL::pop(), CVCL::VCL::popScope(), CVCL::VCL::push(), CVCL::VCL::pushScope(), and CVCL::TheoremProducer::TheoremProducer().

Expr CVCL::ExprManager::newStringExpr const std::string &  s  )  [inline, inherited]
 

Definition at line 431 of file expr_manager.h.

References CVCL::ExprManager::newExpr().

Expr CVCL::ExprManager::newRatExpr const Rational r  )  [inline, inherited]
 

Definition at line 434 of file expr_manager.h.

References CVCL::ExprManager::newExpr().

Referenced by CVCL::CommonTheoremProducer::andElim(), CVCL::SimulateTheoremProducer::expandSimulate(), CVCL::CNF_TheoremProducer::ifLiftRule(), CVCL::TheoryBitvector::rat(), CVCL::TheoryArith::rat(), CVCL::BitvectorTheoremProducer::rat(), CVCL::ArithTheoremProducer::rat(), CVCL::VCL::ratExpr(), CVCL::CoreTheoremProducer::rewriteAndSubterms(), and CVCL::CoreTheoremProducer::rewriteOrSubterms().

Expr CVCL::ExprManager::newSkolemExpr const Expr e,
int  i
[inline, inherited]
 

Definition at line 437 of file expr_manager.h.

References CVCL::Expr::getEM(), and CVCL::ExprManager::newExpr().

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

Expr CVCL::ExprManager::newVarExpr const std::string &  s  )  [inline, inherited]
 

Definition at line 441 of file expr_manager.h.

References CVCL::ExprManager::newExpr().

Referenced by CVCL::ExprStream::addLetHeader().

Expr CVCL::ExprManager::newSymbolExpr const std::string &  s,
int  kind
[inline, inherited]
 

Definition at line 444 of file expr_manager.h.

References CVCL::ExprManager::newExpr().

Expr CVCL::ExprManager::newBoundVarExpr const std::string &  name,
const std::string &  uid
[inline, inherited]
 

Definition at line 447 of file expr_manager.h.

References CVCL::ExprManager::newExpr().

Referenced by CVCL::TheoryUF::computeModel(), CVCL::ExprManager::newBoundVarExpr(), CVCL::TheoremProducer::newLabel(), and CVCL::CommonTheoremProducer::varIntroRule().

Expr CVCL::ExprManager::newBoundVarExpr const std::string &  name,
const std::string &  uid,
const Type type
[inline, inherited]
 

Definition at line 451 of file expr_manager.h.

References CVCL::ARROW, CVCL::Type::getExpr(), CVCL::Expr::getKind(), CVCL::Type::isNull(), CVCL::Expr::lookupType(), CVCL::ExprManager::newBoundVarExpr(), and CVCL::Expr::setType().

Expr CVCL::ExprManager::newBoundVarExpr const Type type  )  [inline, inherited]
 

Definition at line 462 of file expr_manager.h.

References CVCL::int2string(), and CVCL::ExprManager::newBoundVarExpr().

Expr CVCL::ExprManager::newClosureExpr int  kind,
const std::vector< Expr > &  vars,
const Expr body
[inline, inherited]
 

Definition at line 469 of file expr_manager.h.

References CVCL::ExprManager::newExpr().

Referenced by CVCL::arrayLiteral(), CVCL::QuantTheoremProducer::boundVarElim(), CVCL::TheoryQuant::computeTCC(), CVCL::TheoryDatatypeLazy::instantiate(), CVCL::TheoryDatatype::instantiate(), CVCL::TheoremProducer::newPf(), CVCL::TheoryQuant::parseExprOp(), CVCL::TheoryArray::parseExprOp(), CVCL::Expr::recursiveSubst(), CVCL::QuantTheoremProducer::rewriteNotExists(), CVCL::CommonTheoremProducer::rewriteNotExists(), CVCL::QuantTheoremProducer::rewriteNotForall(), CVCL::CommonTheoremProducer::rewriteNotForall(), and CVCL::CommonTheoremProducer::varIntroRule().

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

Definition at line 289 of file expr_manager.h.

References CVCL::AND, and CVCL::ExprManager::Expr.

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

Definition at line 291 of file expr_manager.h.

References CVCL::ExprManager::Expr, and CVCL::OR.

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

Hash function for a single Expr.

Definition at line 484 of file expr_manager.h.

References CVCL::Expr::d_expr, CVCL::ExprValue::hash(), and CVCL::Expr::isNull().

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

Fetch our ContextManager.

Definition at line 299 of file expr_manager.h.

References CVCL::ExprManager::d_cm.

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

Get the current context from our ContextManager.

Definition at line 301 of file expr_manager.h.

References CVCL::ExprManager::d_cm, and CVCL::ContextManager::getCurrentContext().

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

int CVCL::ExprManager::scopelevel  )  [inline, inherited]
 

Get current scope level.

Definition at line 303 of file expr_manager.h.

References CVCL::ExprManager::d_cm, and CVCL::ContextManager::scopeLevel().

MemoryManager* CVCL::ExprManager::getMM size_t  MMIndex  )  [inline, inherited]
 

Return a MemoryManager for the given ExprValue type.

Definition at line 306 of file expr_manager.h.

References CVCL::ExprManager::d_mm.

Referenced by CVCL::ExprClosure::copy(), CVCL::ExprApply::copy(), CVCL::ExprBoundVar::copy(), CVCL::ExprSymbol::copy(), CVCL::ExprVar::copy(), CVCL::ExprRational::copy(), CVCL::ExprSkolem::copy(), CVCL::ExprString::copy(), CVCL::ExprNode::copy(), CVCL::ExprValue::copy(), CVCL::BVConstExpr::copy(), CVCL::ExprValue::getMM(), and CVCL::ExprManager::rebuildRec().

unsigned CVCL::ExprManager::getSimpCacheTag  )  const [inline, inherited]
 

Get the simplifier's cache tag.

Definition at line 311 of file expr_manager.h.

References CVCL::ExprManager::d_simpCacheTagCurrent.

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

void CVCL::ExprManager::invalidateSimpCache  )  [inline, inherited]
 

Invalidate the simplifier's cache tag.

Definition at line 313 of file expr_manager.h.

References CVCL::ExprManager::d_simpCacheTagCurrent.

Referenced by TheoryCore::assertEqualities(), TheoryCore::assertFormula(), CVCL::TheoryCore::CoreNotifyObj::notify(), and TheoryCore::simplify().

void CVCL::ExprManager::registerTypeComputer TypeComputer typeComputer  )  [inline, inherited]
 

Register type computer.

Definition at line 316 of file expr_manager.h.

References CVCL::ExprManager::d_typeComputer.

int CVCL::ExprManager::printDepth  )  const [inline, inherited]
 

Get printing depth.

Definition at line 320 of file expr_manager.h.

References CVCL::ExprManager::d_printDepth.

bool CVCL::ExprManager::withIndentation  )  const [inline, inherited]
 

Whether to print with indentation.

Definition at line 322 of file expr_manager.h.

References CVCL::ExprManager::d_withIndentation.

int CVCL::ExprManager::lineWidth  )  const [inline, inherited]
 

Suggested line width for printing with indentation.

Definition at line 324 of file expr_manager.h.

References CVCL::ExprManager::d_lineWidth.

int CVCL::ExprManager::indent  )  const [inline, inherited]
 

Get initial indentation.

Definition at line 326 of file expr_manager.h.

References CVCL::ExprManager::d_indentTransient.

Referenced by CVCL::ExprStream::ExprStream(), and CVCL::Expr::indent().

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

Set initial indentation. Returns the previous permanent value.

Definition at line 331 of file expr_manager.cpp.

References CVCL::ExprManager::d_indent, and CVCL::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 342 of file expr_manager.cpp.

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

void CVCL::ExprManager::restoreIndent  )  [inline, inherited]
 

Set transient indentation to permanent.

Definition at line 334 of file expr_manager.h.

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

Referenced by CVCL::operator<<().

InputLanguage ExprManager::getInputLang  )  const [inherited]
 

Get the input language for printing.

Definition at line 351 of file expr_manager.cpp.

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

Referenced by main().

InputLanguage ExprManager::getOutputLang  )  const [inherited]
 

Get the output language for printing.

Definition at line 359 of file expr_manager.cpp.

References CVCL::ExprManager::d_inputLang, CVCL::ExprManager::d_outputLang, and CVCL::getLanguage().

Referenced by CVCL::VCL::assertFormula(), main(), and CVCL::VCL::query().

bool CVCL::ExprManager::dagPrinting  )  const [inline, inherited]
 

Whether to print Expr's as DAGs.

Definition at line 340 of file expr_manager.h.

References CVCL::ExprManager::d_dagPrinting.

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

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

Definition at line 343 of file expr_manager.h.

References CVCL::ExprManager::d_prettyPrinter.

Referenced by CVCL::operator<<().

void CVCL::ExprManager::newKind int  kind,
const std::string &  name,
bool  isType = false
[inherited]
 

Register a new kind.

The kind may already be regestered under the same name, but if the name is different, it's an error.

If the new kind is supposed to represent a type, set isType to true.

Referenced by CVCL::TheoremManager::TheoremManager(), CVCL::TheoryArith::TheoryArith(), CVCL::TheoryArray::TheoryArray(), CVCL::TheoryBitvector::TheoryBitvector(), CVCL::TheoryDatatype::TheoryDatatype(), CVCL::TheoryRecords::TheoryRecords(), and CVCL::TheoryUF::TheoryUF().

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 394 of file expr_manager.cpp.

References CVCL::ExprManager::d_prettyPrinter.

void ExprManager::unregisterPrettyPrinter  )  [inherited]
 

Tell ExprManager that the printer is no longer valid.

Definition at line 401 of file expr_manager.cpp.

References CVCL::ExprManager::d_prettyPrinter.

Referenced by TheoryCore::~TheoryCore().

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

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

Definition at line 364 of file expr_manager.h.

References CVCL::ExprManager::d_kindMap.

Referenced by CVCL::ExprValue::ExprValue().

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

Check if a kind represents a type.

Definition at line 366 of file expr_manager.h.

References CVCL::ExprManager::d_typeKinds.

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

const string & ExprManager::getKindName int  kind  )  [inherited]
 

Return the name associated with a kind. The kind must already be registered.

Definition at line 408 of file expr_manager.cpp.

References CVCL::ExprManager::d_kindMap, and CVCL::int2string().

Referenced by CVCL::BitvectorTheoremProducer::bitExtractBitwise(), CVCL::TypeComputerCore::computeType(), CVCL::Expr::print(), CVCL::Expr::printAST(), and CVCL::Theory::theoryOf().

int CVCL::ExprManager::getKind const std::string &  name  )  [inherited]
 

Return a kind associated with a name. Returns NULL_KIND if not found.

Referenced by TheoryCore::parseExpr(), CVCL::TheoryUF::parseExprOp(), CVCL::TheoryRecords::parseExprOp(), CVCL::TheoryQuant::parseExprOp(), CVCL::TheoryDatatype::parseExprOp(), TheoryCore::parseExprOp(), CVCL::TheoryBitvector::parseExprOp(), CVCL::TheoryArray::parseExprOp(), and CVCL::TheoryArith::parseExprOp().

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 424 of file expr_manager.cpp.

References CVCL::ExprManager::d_mm, and CVCL::ExprManager::d_mmFlag.

Referenced by CVCL::TheoryBitvector::TheoryBitvector().

CVCL::ExprManagerNotifyObj::ExprManagerNotifyObj ExprManager em,
Context cxt
[inline, inherited]
 

Constructor.

Definition at line 402 of file expr_manager.h.

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

Reimplemented from CVCL::ContextNotifyObj.

Definition at line 614 of file expr_manager.cpp.

References CVCL::ExprManagerNotifyObj::d_em, and CVCL::ExprManager::postponeGC().

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

Reimplemented from CVCL::ContextNotifyObj.

Definition at line 619 of file expr_manager.cpp.

References CVCL::ExprManagerNotifyObj::d_em, and CVCL::ExprManager::resumeGC().

size_t CVCL::ExprManager::hash const ExprValue ev  )  const [inline, private, inherited]
 

Definition at line 474 of file expr_manager.h.

References CVCL::ExprValue::hash().

Referenced by CVCL::Expr::hash(), hf(), and CVCL::ExprManager::HashEV::operator()().

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

Definition at line 479 of file expr_manager.h.


Generated on Thu Apr 13 16:57:39 2006 for CVC Lite by  doxygen 1.4.4