CREATE tree.txt \ Leo Wong 25 March 02003 fyj + \ >children >data add-sibling level link tree tree.txt xtree \ See: folderol.txt from linked.txt : tree linked ; : link ( list -- link' ) CELL+ ALIGN HERE TUCK SWAP 2DUP @ ! ! 0 , ; : >children ( node -- child-list ) CELL+ ; : >data ( node -- data ) 3 CELLS + ; : add-sibling ( a u node -- node' ) link node ; VARIABLE level \ Mostly for display : xTree ( tree -- ) @ ?DUP 0= ?? EXIT DUP xNode DUP 1 level +! >children RECURSE -1 level +! RECURSE ;