123456789101112131415161718192021222324252627282930313233343536373839404142 |
- discard """
- output: ''''''
- cmd: '''nim c --gc:arc --expandArc:traverse --hint:Performance:off $file'''
- nimout: '''--expandArc: traverse
- var it_cursor = root
- block :tmp:
- while (
- not (it_cursor == nil)):
- echo [it_cursor.s]
- it_cursor = it_cursor.ri
- var jt_cursor = root
- block :tmp_1:
- while (
- not (jt_cursor == nil)):
- let ri_1_cursor = jt_cursor.ri
- echo [jt_cursor.s]
- jt_cursor = ri_1_cursor
- -- end of expandArc ------------------------'''
- """
- type
- Node = ref object
- le, ri: Node
- s: string
- proc traverse(root: Node) =
- var it = root
- while it != nil:
- echo it.s
- it = it.ri
- var jt = root
- while jt != nil:
- let ri = jt.ri
- echo jt.s
- jt = ri
- traverse(nil)
- # XXX: This optimization is not sound
|