clingo
|
#include <aggregate.hh>
Public Member Functions | |
virtual void | unpool (UBodyAggrVec &x, bool beforeRewrite)=0 |
Unpool the aggregate and aggregate elements. More... | |
virtual void | simplify (Projections &project, Term::DotsMap &dots, Term::ScriptMap &scripts, unsigned &auxNum)=0 |
virtual void | assignLevels (AssignLevel &lvl)=0 |
virtual bool | check (ChkLvlVec &lvl) const =0 |
virtual void | rewriteArithmetics (Term::ArithmeticsMap &arith, Literal::AssignVec &assign, unsigned &auxNum)=0 |
virtual bool | rewriteAggregates (UBodyAggrVec &aggr)=0 |
virtual void | removeAssignment ()=0 |
virtual bool | isAssignment () const =0 |
virtual void | collect (VarTermBoundVec &vars) const =0 |
virtual bool | hasPool (bool beforeRewrite) const =0 |
virtual void | replace (Defines &dx)=0 |
virtual CreateBody | toGround (ToGroundArg &x, Ground::UStmVec &stms) const =0 |
virtual | ~BodyAggregate () |
Public Member Functions inherited from Gringo::Printable | |
virtual void | print (std::ostream &out) const =0 |
virtual | ~Printable () |
Public Member Functions inherited from Gringo::Hashable | |
virtual size_t | hash () const =0 |
virtual | ~Hashable () |
Public Member Functions inherited from Gringo::Locatable | |
virtual Location const & | loc () const =0 |
virtual void | loc (Location const &loc)=0 |
virtual | ~Locatable () |
Public Member Functions inherited from Gringo::Clonable< BodyAggregate > | |
virtual BodyAggregate * | clone () const =0 |
virtual | ~Clonable () |
Public Member Functions inherited from Gringo::Comparable< BodyAggregate > | |
virtual bool | operator== (BodyAggregateconst &other) const =0 |
virtual bool | operator!= (BodyAggregateconst &other) const |
virtual | ~Comparable () |
|
inlinevirtual |
|
pure virtual |
Assign levels to variables using the VarCollector.
Implemented in Gringo::Input::DisjointAggregate, Gringo::Input::SimpleBodyLiteral, Gringo::Input::Conjunction, Gringo::Input::LitBodyAggregate, and Gringo::Input::TupleBodyAggregate.
|
pure virtual |
|
pure virtual |
Collects all variables occuring in the aggregate. Occurrences bound by the aggregate are marked as such (occurrences bound in nested scopes are not marked).
Implemented in Gringo::Input::DisjointAggregate, Gringo::Input::SimpleBodyLiteral, Gringo::Input::Conjunction, Gringo::Input::LitBodyAggregate, and Gringo::Input::TupleBodyAggregate.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Returns true if the aggregate is an assignment aggregate.
Implemented in Gringo::Input::DisjointAggregate, Gringo::Input::SimpleBodyLiteral, Gringo::Input::Conjunction, Gringo::Input::LitBodyAggregate, and Gringo::Input::TupleBodyAggregate.
|
pure virtual |
|
pure virtual |
Rewrite aggregates. Separates assignment aggregates from ordinary bounds, and transforms literal aggregates into tuple aggregates. Returns false iff the aggregates must be removed. Argument aggr contains the rewritten aggregates.
Implemented in Gringo::Input::DisjointAggregate, Gringo::Input::SimpleBodyLiteral, Gringo::Input::Conjunction, Gringo::Input::LitBodyAggregate, and Gringo::Input::TupleBodyAggregate.
|
pure virtual |
Rewrite arithmetics.
Implemented in Gringo::Input::DisjointAggregate, Gringo::Input::SimpleBodyLiteral, Gringo::Input::Conjunction, Gringo::Input::LitBodyAggregate, and Gringo::Input::TupleBodyAggregate.
|
pure virtual |
Simplify the aggregate and aggregate elements.
Implemented in Gringo::Input::DisjointAggregate, Gringo::Input::SimpleBodyLiteral, Gringo::Input::Conjunction, Gringo::Input::LitBodyAggregate, and Gringo::Input::TupleBodyAggregate.
|
pure virtual |
|
pure virtual |
Unpool the aggregate and aggregate elements.
Implemented in Gringo::Input::DisjointAggregate, Gringo::Input::SimpleBodyLiteral, Gringo::Input::Conjunction, Gringo::Input::LitBodyAggregate, and Gringo::Input::TupleBodyAggregate.