clingo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | List of all members
Clasp::Cli::TextOutput Class Reference

Default clasp format printer. More...

#include <clasp_output.h>

Inheritance diagram for Clasp::Cli::TextOutput:
Inheritance graph
Collaboration diagram for Clasp::Cli::TextOutput:
Collaboration graph

Public Types

enum  Format { format_asp, format_aspcomp, format_sat09, format_pb09 }
 
enum  ResultStr {
  res_unknonw = 0, res_sat = 1, res_unsat = 2, res_opt = 3,
  num_str
}
 
enum  CategoryKey {
  cat_comment, cat_value, cat_objective, cat_result,
  cat_value_term, cat_atom, num_cat
}
 
- Public Types inherited from Clasp::Cli::Output
enum  PrintLevel { print_all = 0, print_best = 1, print_no = 2 }
 Supported levels for printing models, optimize values, and individual calls. More...
 

Public Member Functions

 TextOutput (uint32 verbosity, Format f, const char *catAtom=0, char ifs= ' ')
 
 ~TextOutput ()
 
virtual void run (const char *solver, const char *version, const std::string *begInput, const std::string *endInput)
 Prints a (comment) message containing the given solver and input. More...
 
virtual void shutdown ()
 
virtual void printModel (const SymbolTable &sym, const Model &m, PrintLevel x)
 Prints the given model. More...
 
virtual void printSummary (const ClaspFacade::Summary &s, bool final)
 Called once a solving step has completed. More...
 
virtual void printStatistics (const ClaspFacade::Summary &s, bool final)
 Shall print the given statistics. More...
 
virtual void onEvent (const Event &ev)
 Prints progress events (preprocessing/solving) if verbosity() > 1. More...
 
virtual void startStep (const ClaspFacade &)
 A solving step has started. More...
 
void comment (uint32 v, const char *fmt,...) const
 Prints a comment message. More...
 
- Public Member Functions inherited from Clasp::Cli::Output
 Output (uint32 verb=1)
 
virtual ~Output ()
 
uint32 verbosity () const
 Active verbosity level. More...
 
bool quiet () const
 Do not output any models? More...
 
int modelQ () const
 Print level for models. More...
 
int optQ () const
 Print level for optimization values. More...
 
int callQ () const
 Print level for individual (solve) calls. More...
 
void setVerbosity (uint32 verb)
 
void setModelQuiet (PrintLevel model)
 
void setOptQuiet (PrintLevel opt)
 
void setCallQuiet (PrintLevel call)
 
void setHide (char c)
 
virtual void shutdown (const ClaspFacade::Summary &summary)
 Shall be called once on shutdown. More...
 
virtual bool onModel (const Solver &s, const Model &m)
 Checks quiet-levels and forwards to printModel() if appropriate. More...
 
virtual void stopStep (const ClaspFacade::Summary &summary)
 A solving step has stopped. More...
 
- Public Member Functions inherited from Clasp::EventHandler
 EventHandler (Event::Verbosity verbosity=Event::verbosity_quiet)
 
virtual ~EventHandler ()
 
void setVerbosity (Event::Subsystem sys, Event::Verbosity verb)
 
void dispatch (const Event &ev)
 

Public Attributes

const char * result [num_str]
 
const char * format [num_cat]
 

Protected Member Functions

virtual void printNames (const SymbolTable &sym, const Model &m)
 
virtual void visitProblemStats (const ProblemStats &stats, const Asp::LpStats *lp)
 
virtual void visitSolverStats (const Clasp::SolverStats &s, bool accu)
 
virtual void visitLogicProgramStats (const Asp::LpStats &stats)
 
virtual void visitProblemStats (const ProblemStats &stats)
 
virtual void visitCoreSolverStats (double cpuTime, uint64 models, const SolverStats &stats, bool accu)
 
virtual void visitExtSolverStats (const ExtendedStats &stats, bool accu)
 
virtual void visitJumpStats (const JumpStats &stats, bool accu)
 
virtual void visitThreads (const SharedContext &ctx)
 
virtual void visitThread (uint32 i, const SolverStats &s)
 
virtual void visitHccs (const SharedContext &ctx)
 
virtual void visitHcc (uint32 i, const SharedContext &ctx)
 
const char * fieldSeparator () const
 
int printSep (CategoryKey c) const
 
void printCosts (const SharedMinimizeData &) const
 
void startSection (const char *n) const
 
void startObject (const char *n, uint32 i) const
 
void setState (uint32 state, uint32 verb, const char *st)
 
void printSolveProgress (const Event &ev)
 
- Protected Member Functions inherited from Clasp::Cli::Output
const ModelgetModel () const
 
void saveModel (const Model &m)
 
void clearModel ()
 
bool doPrint (const SymbolTable::symbol_type &sym) const
 

Detailed Description

Default clasp format printer.

Prints all output to stdout in given format:

See also
https://www.mat.unical.it/aspcomp2013/
http://www.satcompetition.org/2009/format-solvers2009.html
http://www.cril.univ-artois.fr/PB09/solver_req.html

Member Enumeration Documentation

Enumerator
cat_comment 
cat_value 
cat_objective 
cat_result 
cat_value_term 
cat_atom 
num_cat 
Enumerator
format_asp 
format_aspcomp 
format_sat09 
format_pb09 
Enumerator
res_unknonw 
res_sat 
res_unsat 
res_opt 
num_str 

Constructor & Destructor Documentation

Clasp::Cli::TextOutput::TextOutput ( uint32  verbosity,
Format  f,
const char *  catAtom = 0,
char  ifs = ' ' 
)

Here is the call graph for this function:

Clasp::Cli::TextOutput::~TextOutput ( )

Member Function Documentation

void Clasp::Cli::TextOutput::comment ( uint32  v,
const char *  fmt,
  ... 
) const

Prints a comment message.

Here is the call graph for this function:

const char * Clasp::Cli::TextOutput::fieldSeparator ( ) const
protected
void Clasp::Cli::TextOutput::onEvent ( const Event ev)
virtual

Prints progress events (preprocessing/solving) if verbosity() > 1.

Reimplemented from Clasp::Cli::Output.

Here is the call graph for this function:

void Clasp::Cli::TextOutput::printCosts ( const SharedMinimizeData costs) const
protected

Here is the call graph for this function:

void Clasp::Cli::TextOutput::printModel ( const SymbolTable sym,
const Model m,
PrintLevel  x 
)
virtual

Prints the given model.

Prints format[cat_value] followed by the elements of the model. Individual elements e are printed as format[cat_atom] and separated by the internal field separator.

Implements Clasp::Cli::Output.

Here is the call graph for this function:

void Clasp::Cli::TextOutput::printNames ( const SymbolTable sym,
const Model m 
)
protectedvirtual

Here is the call graph for this function:

int Clasp::Cli::TextOutput::printSep ( CategoryKey  c) const
protected

Here is the call graph for this function:

void Clasp::Cli::TextOutput::printSolveProgress ( const Event ev)
protected

Here is the call graph for this function:

void Clasp::Cli::TextOutput::printStatistics ( const ClaspFacade::Summary summary,
bool  final 
)
virtual

Shall print the given statistics.

Implements Clasp::Cli::Output.

Here is the call graph for this function:

void Clasp::Cli::TextOutput::printSummary ( const ClaspFacade::Summary s,
bool  final 
)
virtual

Called once a solving step has completed.

Always prints "format[cat_result] result[s.result()]". Furthermore, if verbosity() > 0, prints a summary consisting of

  • the number of computed models m and whether the search space was exhausted
  • the number of enumerated models e if e != m
  • the state of any optimization and whether the last model was optimal
  • the state of consequence computation and whether the last model corresponded to the consequences
  • timing information

Implements Clasp::Cli::Output.

Here is the call graph for this function:

void Clasp::Cli::TextOutput::run ( const char *  solver,
const char *  version,
const std::string *  begInput,
const std::string *  endInput 
)
virtual

Prints a (comment) message containing the given solver and input.

Implements Clasp::Cli::Output.

Here is the call graph for this function:

void Clasp::Cli::TextOutput::setState ( uint32  state,
uint32  verb,
const char *  st 
)
protected

Here is the call graph for this function:

void Clasp::Cli::TextOutput::shutdown ( )
virtual

Implements Clasp::Cli::Output.

void Clasp::Cli::TextOutput::startObject ( const char *  n,
uint32  i 
) const
protected
void Clasp::Cli::TextOutput::startSection ( const char *  n) const
protected
void Clasp::Cli::TextOutput::startStep ( const ClaspFacade f)
virtual

A solving step has started.

Reimplemented from Clasp::Cli::Output.

Here is the call graph for this function:

void Clasp::Cli::TextOutput::visitCoreSolverStats ( double  cpuTime,
uint64  models,
const SolverStats stats,
bool  accu 
)
protectedvirtual

Implements Clasp::Cli::StatsVisitor.

Here is the call graph for this function:

void Clasp::Cli::TextOutput::visitExtSolverStats ( const ExtendedStats stats,
bool  accu 
)
protectedvirtual

Implements Clasp::Cli::StatsVisitor.

Here is the call graph for this function:

virtual void Clasp::Cli::TextOutput::visitHcc ( uint32  i,
const SharedContext ctx 
)
inlineprotectedvirtual

Reimplemented from Clasp::Cli::StatsVisitor.

Here is the call graph for this function:

virtual void Clasp::Cli::TextOutput::visitHccs ( const SharedContext ctx)
inlineprotectedvirtual

Reimplemented from Clasp::Cli::StatsVisitor.

Here is the call graph for this function:

void Clasp::Cli::TextOutput::visitJumpStats ( const JumpStats stats,
bool  accu 
)
protectedvirtual

Implements Clasp::Cli::StatsVisitor.

Here is the call graph for this function:

void Clasp::Cli::TextOutput::visitLogicProgramStats ( const Asp::LpStats stats)
protectedvirtual

Implements Clasp::Cli::StatsVisitor.

Here is the call graph for this function:

void Clasp::Cli::TextOutput::visitProblemStats ( const ProblemStats stats,
const Asp::LpStats lp 
)
protectedvirtual

Reimplemented from Clasp::Cli::StatsVisitor.

Here is the call graph for this function:

void Clasp::Cli::TextOutput::visitProblemStats ( const ProblemStats stats)
protectedvirtual

Implements Clasp::Cli::StatsVisitor.

Here is the call graph for this function:

void Clasp::Cli::TextOutput::visitSolverStats ( const Clasp::SolverStats s,
bool  accu 
)
protectedvirtual

Reimplemented from Clasp::Cli::StatsVisitor.

Here is the call graph for this function:

virtual void Clasp::Cli::TextOutput::visitThread ( uint32  i,
const SolverStats s 
)
inlineprotectedvirtual

Reimplemented from Clasp::Cli::StatsVisitor.

Here is the call graph for this function:

virtual void Clasp::Cli::TextOutput::visitThreads ( const SharedContext ctx)
inlineprotectedvirtual

Reimplemented from Clasp::Cli::StatsVisitor.

Here is the call graph for this function:

Member Data Documentation

const char* Clasp::Cli::TextOutput::format[num_cat]

Format strings.

const char* Clasp::Cli::TextOutput::result[num_str]

Default result strings.


The documentation for this class was generated from the following files: