#include <logic_program_types.h>
Classes | |
| struct | Call |
Public Member Functions | |
| SccChecker (LogicProgram &prg, AtomList &sccAtoms, uint32 startScc) | |
| uint32 | sccs () const |
| void | visit (PrgBody *body) |
| void | visit (PrgAtom *atom) |
| void | visit (PrgDisj *disj) |
Private Types | |
| typedef PodVector< Call >::type | CallStack |
| typedef PodVector< uintp >::type | NodeStack |
Private Member Functions | |
| void | addCall (PrgNode *n, NodeType t, uint32 next, uint32 min=0) |
| bool | doVisit (PrgNode *n, bool seen=true) const |
| bool | onNode (PrgNode *n, NodeType t, Call &c, uint32 data) |
| bool | recurse (Call &c) |
| void | visitDfs (PrgNode *n, NodeType t) |
Static Private Member Functions | |
| static bool | isNode (uintp n, NodeType t) |
| static uintp | packNode (PrgNode *n, NodeType t) |
| static PrgNode * | unpackNode (uintp n) |
Private Attributes | |
| CallStack | callStack_ |
| uint32 | count_ |
| NodeStack | nodeStack_ |
| LogicProgram * | prg_ |
| AtomList * | sccAtoms_ |
| uint32 | sccs_ |
Definition at line 675 of file logic_program_types.h.
typedef PodVector<Call>::type Clasp::Asp::SccChecker::CallStack [private] |
Definition at line 688 of file logic_program_types.h.
typedef PodVector<uintp>::type Clasp::Asp::SccChecker::NodeStack [private] |
Definition at line 689 of file logic_program_types.h.
| Clasp::Asp::SccChecker::SccChecker | ( | LogicProgram & | prg, |
| AtomList & | sccAtoms, | ||
| uint32 | startScc | ||
| ) |
Definition at line 396 of file logic_program_types.cpp.
| void Clasp::Asp::SccChecker::addCall | ( | PrgNode * | n, |
| NodeType | t, | ||
| uint32 | next, | ||
| uint32 | min = 0 |
||
| ) | [inline, private] |
Definition at line 697 of file logic_program_types.h.
| bool Clasp::Asp::SccChecker::doVisit | ( | PrgNode * | n, |
| bool | seen = true |
||
| ) | const [inline, private] |
Definition at line 693 of file logic_program_types.h.
| static bool Clasp::Asp::SccChecker::isNode | ( | uintp | n, |
| NodeType | t | ||
| ) | [inline, static, private] |
Definition at line 692 of file logic_program_types.h.
| bool Clasp::Asp::SccChecker::onNode | ( | PrgNode * | n, |
| NodeType | t, | ||
| Call & | c, | ||
| uint32 | data | ||
| ) | [private] |
Definition at line 487 of file logic_program_types.cpp.
| static uintp Clasp::Asp::SccChecker::packNode | ( | PrgNode * | n, |
| NodeType | t | ||
| ) | [inline, static, private] |
Definition at line 690 of file logic_program_types.h.
| bool Clasp::Asp::SccChecker::recurse | ( | Call & | c | ) | [private] |
Definition at line 447 of file logic_program_types.cpp.
| uint32 Clasp::Asp::SccChecker::sccs | ( | ) | const [inline] |
Definition at line 678 of file logic_program_types.h.
| static PrgNode* Clasp::Asp::SccChecker::unpackNode | ( | uintp | n | ) | [inline, static, private] |
Definition at line 691 of file logic_program_types.h.
| void Clasp::Asp::SccChecker::visit | ( | PrgBody * | body | ) | [inline] |
Definition at line 679 of file logic_program_types.h.
| void Clasp::Asp::SccChecker::visit | ( | PrgAtom * | atom | ) | [inline] |
Definition at line 680 of file logic_program_types.h.
| void Clasp::Asp::SccChecker::visit | ( | PrgDisj * | disj | ) | [inline] |
Definition at line 681 of file logic_program_types.h.
| void Clasp::Asp::SccChecker::visitDfs | ( | PrgNode * | n, |
| NodeType | t | ||
| ) | [private] |
Definition at line 406 of file logic_program_types.cpp.
CallStack Clasp::Asp::SccChecker::callStack_ [private] |
Definition at line 701 of file logic_program_types.h.
uint32 Clasp::Asp::SccChecker::count_ [private] |
Definition at line 705 of file logic_program_types.h.
NodeStack Clasp::Asp::SccChecker::nodeStack_ [private] |
Definition at line 702 of file logic_program_types.h.
LogicProgram* Clasp::Asp::SccChecker::prg_ [private] |
Definition at line 703 of file logic_program_types.h.
AtomList* Clasp::Asp::SccChecker::sccAtoms_ [private] |
Definition at line 704 of file logic_program_types.h.
uint32 Clasp::Asp::SccChecker::sccs_ [private] |
Definition at line 706 of file logic_program_types.h.