CVC3  2.4.1
Functions

Functions

ExprStream & CVC3::push (ExprStream &os)
 Set the indentation to the current position. More...
 
ExprStream & CVC3::pop (ExprStream &os)
 Restore the indentation. More...
 
ExprStream & CVC3::popSave (ExprStream &os)
 Remember the current indentation and pop to the previous position. More...
 
ExprStream & CVC3::pushRestore (ExprStream &os)
 Set the indentation to the position saved by popSave() More...
 
ExprStream & CVC3::reset (ExprStream &os)
 Reset the indentation to the default at this level. More...
 
ExprStream & CVC3::space (ExprStream &os)
 Insert a single white space separator. More...
 
ExprStream & CVC3::nodag (ExprStream &os)
 
ExprStream & CVC3::pushdag (ExprStream &os)
 
ExprStream & CVC3::popdag (ExprStream &os)
 
CVC3::ExprStreamstd::endl (CVC3::ExprStream &os)
 Print the end-of-line. More...
 

Detailed Description

Function Documentation

ExprStream & CVC3::push ( ExprStream os)
ExprStream & CVC3::pop ( ExprStream os)
ExprStream & CVC3::popSave ( ExprStream os)

Remember the current indentation and pop to the previous position.

There is only one register to save the previous position. If you use popSave() more than once, only the latest position can be restored with pushRestore().

Definition at line 306 of file expr_stream.cpp.

References CVC3::ExprStream::d_indentReg, CVC3::ExprStream::d_indentStack, and CVC3::ExprStream::popIndent().

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

ExprStream & CVC3::pushRestore ( ExprStream os)

Set the indentation to the position saved by popSave()

There is only one register to save the previous position. Using pushRestore() several times will set intendation to the same position.

Definition at line 315 of file expr_stream.cpp.

References CVC3::ExprStream::d_indentReg, and CVC3::ExprStream::pushIndent().

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

ExprStream & CVC3::reset ( ExprStream os)

Reset the indentation to the default at this level.

Definition at line 320 of file expr_stream.cpp.

References CVC3::ExprStream::resetIndent().

ExprStream & CVC3::space ( ExprStream os)
ExprStream & CVC3::nodag ( ExprStream os)

DAG-printing will resume for the children of the node. This is useful when printing definitions in the header of a DAGified LET expressions: defs have names, but must be printed expanded.

Definition at line 332 of file expr_stream.cpp.

References CVC3::ExprStream::d_nodag.

Referenced by CVC3::TheoryCore::print(), CVC3::TheoryQuant::print(), CVC3::Translator::printArrayExpr(), and CVC3::Expr::printAST().

ExprStream & CVC3::pushdag ( ExprStream os)

For some constructs with bound variables (notably, quantifiers), shared subexpressions are not computed, because they cannot be defined outside the scope of bound variables. If this manipulator is applied before an expression within the scope of bound vars, these internal subexpressions will then be computed.

Definition at line 337 of file expr_stream.cpp.

References CVC3::ExprStream::pushDag().

Referenced by CVC3::TheoryUF::print(), CVC3::TheoryArray::print(), and CVC3::TheoryQuant::print().

ExprStream & CVC3::popdag ( ExprStream os)

Similar to push/pop, shared subexpressions are automatically deleted upon a return from a recursive call, so popdag is not necessary after a pushdag in theory-specific print() functions. Also, you cannot pop more than you pushed an the current recursion level.

Definition at line 339 of file expr_stream.cpp.

References CVC3::ExprStream::popDag().

Referenced by CVC3::TheoryUF::print(), CVC3::TheoryArray::print(), and CVC3::TheoryQuant::print().

CVC3::ExprStream & std::endl ( CVC3::ExprStream os)

Print the end-of-line.

The new line will not necessarily start at column 0 because of indentation.

Definition at line 353 of file expr_stream.cpp.

References CVC3::ExprStream::d_beginningOfLine, CVC3::ExprStream::d_col, CVC3::ExprStream::d_indent, CVC3::ExprStream::d_indentStack, and CVC3::ExprStream::d_os.

Referenced by Abort(), MiniSat::Solver::allClausesSatisfied(), CVC3::SearchEngineFast::analyzeUIPs(), CVC3::TheoryCore::assertFactCore(), CSolver::back_track(), CVC3::Scope::check(), CVC3::SearchSat::check(), MiniSat::Solver::checkClause(), CVC3::TheoryBitvector::checkSat(), CVC3::TheoryArithOld::checkSat(), CVC3::TheoryQuant::checkSat(), MiniSat::Solver::checkWatched(), CVC3::CompleteInstPreProcessor::collect_forall_index(), CDatabase::compact_lit_pool(), CSolver::conflict_analysis_zchaff(), CVC3::SearchEngineTheoremProducer::conflictClause(), LFSCConvert::convert(), MiniSat::Solver::curAssigns(), MiniSat::Solver::curClauses(), LFSCConvert::cvc3_to_lfsc(), CVC3::TheoryQuant::debug(), CSolver::decide_next_branch(), CSolver::delete_unrelevant_clauses(), CDatabase::detail_dump_cl(), LFSCConvert::do_bso(), CClause::dump(), CDatabase::dump(), CVariable::dump(), CSolver::dump_assignment_stack(), CVC3::Translator::dumpQueryResult(), CDatabase::enlarge_lit_pool(), CVC3::VCCmd::evaluateCommand(), CVC3::VCCmd::evaluateNext(), CVC3::fatalError(), CVC3::SearchSat::findSplitterRec(), CVC3::Translator::finish(), generateSatProof(), get_knd_result(), CVC3::Scope::getMemory(), CVC3::SearchSat::getValue(), LFSCObj::getY(), SAT::DPLLTBasic::handle_result(), Obj::indent(), CVC3::TheoryArithNew::kidsCanonical(), CVC3::TheoryArith3::kidsCanonical(), CVC3::TheoryArithOld::kidsCanonical(), CVC3::CNF_TheoremProducer::learnedClauses(), main(), LFSCLraPoly::Make(), LFSCProof::Make_CNF(), LFSCConvert::make_let_proof(), CVC3::TheoryQuant::newTopMatch(), CVC3::TheoryQuant::newTopMatchSig(), CVC3::SearchImplBase::newUserAssumption(), TReturn::normalize_to_tf(), TReturn::normalize_tr(), TReturn::normalize_tret(), CVC3::TheoryQuant::notifyInconsistent(), CVC3::TheoryArithNew::BoundInfo::operator<(), CVC3::operator<<(), CDatabase::output_lit_pool_state(), CVC3::QuantTheoremProducer::partialUniversalInst(), CVC3::VCL::popScope(), CVC3::Expr::pprint(), CVC3::Expr::pprintnodag(), CVC3::Translator::preprocess(), CSolver::preprocess(), CVC3::Translator::preprocess2(), CVC3::TheoryDatatype::print(), SAT::Clause::print(), CVC3::Assumptions::print(), CVC3::MemoryTracker::print(), CVC3::Theorem::print(), CVC3::TheoryArithOld::print(), CVC3::TheoryCore::print(), CVC3::Expr::print(), Obj::print_error(), LFSCPrinter::print_LFSC(), LFSCPfLet::print_pf(), LFSCPrinter::print_terms_h(), Obj::print_warning(), CVC3::Statistics::printAll(), CVC3::Expr::printAST(), CVC3::VCCmd::printCounterExample(), MiniSat::Derivation::printDerivation(), MiniSat::Solver::printDIMACS(), CVC3::VCL::printExpr(), CVC3::VCCmd::printModel(), printSatProof(), MiniSat::Solver::printState(), SatSolver::PrintStatistics(), CVC3::VCL::printStatistics(), CVC3::VCCmd::printSymbols(), printUsage(), CVC3::VCCmd::processCommands(), MiniSat::Solver::protocolPropagation(), MiniSat::Solver::push(), LFSCObj::queryMt(), CSolver::queue_implication(), CVC3::Theorem::recursivePrint(), CVC3::VCCmd::reportResult(), CSolver::restart(), CSolver::run_periodic_functions(), CVC3::SearchEngineTheoremProducer::satProof(), SAT::DPLLTMiniSat::search(), MiniSat::Solver::search(), CSolver::set_var_value(), sighandler(), CVC3::CompleteInstPreProcessor::simplifyEq(), CVC3::Translator::start(), CVC3::CommonTheoremProducer::substitutivityRule(), MiniSat::Solver::toString(), CVC3::SearchEngineFast::traceConflict(), TReturn::TReturn(), CSolver::unset_var_value(), Warning(), and CVC3::TheoryArithOld::DifferenceLogicGraph::writeGraph().