12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- discard """
- cmd: '''nim c --gc:arc --expandArc:traverse --hint:Performance:off $file'''
- nimout: '''
- --expandArc: traverse
- var
- it
- jt_cursor
- try:
- `=copy`(it, root)
- block :tmp:
- while (
- not (it == nil)):
- if true:
- echo [it.s]
- `=copy`(it, it.ri)
- jt_cursor = root
- if (
- not (jt_cursor == nil)):
- echo [jt_cursor.s]
- jt_cursor = jt_cursor.ri
- finally:
- `=destroy`(it)
- -- end of expandArc ------------------------
- '''
- """
- type
- Node = ref object
- le, ri: Node
- s: string
- proc traverse(root: Node) =
- var it = root
- while it != nil:
- if true:
- echo it.s
- it = it.ri
- var jt = root
- if jt != nil:
- echo jt.s
- jt = jt.ri
- traverse(nil)
|