nim_iterator_stream_experiment/streams/ast

Types

NimNodeStep = SliceStep[NimNodeIndex]
  Source Edit
PreOrderStep = object
  stack: SeqStack[NimNode]
  current: Optional[NimNode]
Since 0.3.0.   Source Edit

Funcs

func indexes(n: NimNode): Stream[NimNodeStep, NimNodeIndex] {...}{.raises: [], tags: [].}
  Source Edit
func indexesReverse(n: NimNode): Stream[NimNodeStep, NimNodeIndex] {...}{.
    raises: [Exception], tags: [RootEffect].}
Since 0.3.0.   Source Edit
func children(n: NimNode): Stream[NimNodeStep, NimNode] {...}{.raises: [Exception],
    tags: [RootEffect].}
  Source Edit
func childrenReverse(n: NimNode): Stream[NimNodeStep, NimNode] {...}{.raises: [Exception],
    tags: [RootEffect].}
Since 0.3.0.   Source Edit
func pairs(n: NimNode): Stream[NimNodeStep,
                            tuple[index: NimNodeIndex, node: NimNode]] {...}{.
    raises: [Exception], tags: [RootEffect].}
  Source Edit
func preOrderStep(stack: SeqStack[NimNode]; current: Optional[NimNode]): PreOrderStep {...}{.
    raises: [], tags: [].}
Since 0.3.0.   Source Edit
func initPreOrder(root: NimNode): PreOrderStep {...}{.raises: [], tags: [].}
Since 0.3.0.   Source Edit
func hasMore(self: PreOrderStep): bool {...}{.raises: [], tags: [].}
Since 0.3.0.   Source Edit
func generate(self: PreOrderStep): NimNode {...}{.raises: [Exception, UnboxError],
    tags: [RootEffect].}
Since 0.3.0.   Source Edit
func next(self: PreOrderStep): PreOrderStep {...}{.raises: [Exception, UnboxError],
    tags: [RootEffect].}
Since 0.3.0.   Source Edit
func traversePreOrder(root: NimNode): Stream[PreOrderStep, NimNode] {...}{.
    raises: [Exception, UnboxError], tags: [RootEffect].}

Traverse the tree starting at root in pre-order.

Since 0.3.0.

  Source Edit