Class Walker
An iterator for walking a Node tree.
This is depth-first, children are visited before the parent.
The Walker object can be initialized with any node, and
returns the next node on the descent with each next() call.
'kids_func' is an optional function that will be called to
get the children of a node instead of calling 'children'.
'cycle_func' is an optional function that will be called
when a cycle is detected.
This class does not get caught in node cycles caused, for example,
by C header file include loops.
| Method Summary |
| |
__init__(self,
node,
kids_func,
cycle_func,
eval_func)
|
| |
is_done(self)
|
| |
next(self)
Return the next node for this walk of the tree. |
next(self)
Return the next node for this walk of the tree.
This function is intentionally iterative, not recursive,
to sidestep any issues of stack size limitations.
-
|