#include <parser.h>
Public Types | |
enum | Mode { DEPTH_FIRST, BREADTH_FIRST } |
Public Member Functions | |
void | setUnderEqual (bool u) |
NodeIterator (Node *n, Node **direct, Mode mode) | |
const list< unsigned int > & | getPosition () |
Node * | next () |
void | reset () |
void | replaceBy (Node *n) |
Private Attributes | |
Mode | mode |
list< StackElement > | stack |
StackElement | last |
Node * | n |
Node ** | direct |
bool | allowUnderEqual |
Definition at line 261 of file parser.h.
enum NodeIterator::Mode |
void NodeIterator::setUnderEqual | ( | bool | u | ) |
Definition at line 716 of file parser.cpp.
References allowUnderEqual.
Referenced by Unification::ApplyR0().
const list< unsigned int > & NodeIterator::getPosition | ( | ) |
Definition at line 721 of file parser.cpp.
References last, and StackElement::position.
Referenced by Unification::tryApplyR3(), Unification::tryApplyR4(), and Unification::tryApplyR5().
Node * NodeIterator::next | ( | ) |
Definition at line 726 of file parser.cpp.
References allowUnderEqual, BREADTH_FIRST, last, mode, StackElement::n, StackElement::position, and stack.
Referenced by Unification::ApplyR0(), Unification::SetDisjunctiveSystem(), Unification::tryApplyR1(), Unification::tryApplyR2(), Unification::tryApplyR3(), Unification::tryApplyR4(), and Unification::tryApplyR5().
void NodeIterator::reset | ( | ) |
come back to the initial possition
Definition at line 817 of file parser.cpp.
References direct, n, and stack.
Referenced by Unification::tryApplyR1().
void NodeIterator::replaceBy | ( | Node * | n | ) |
replace le current element by n (you can't use next anymore)
Definition at line 806 of file parser.cpp.
References StackElement::direct, and last.
Referenced by Unification::ApplyR0(), Unification::SetDisjunctiveSystem(), Unification::tryApplyR1(), Unification::tryApplyR2(), Unification::tryApplyR3(), Unification::tryApplyR4(), and Unification::tryApplyR5().
Mode NodeIterator::mode [private] |
list<StackElement> NodeIterator::stack [private] |
StackElement NodeIterator::last [private] |
Node* NodeIterator::n [private] |
Node** NodeIterator::direct [private] |
bool NodeIterator::allowUnderEqual [private] |