output = []

def write_tree(node):
    output.append("</node>")
    sum = 0
    for child in reversed(node.children):
        if child.type = leaf:
            output.extend(["</leaf>", "%d" % node.value, "<leaf>"])
            sum += node.value
        else:
            sum += write_tree(node)
    output.append("<node sum=%d>" % sum)
    return sum

write_tree(rootNode)
output.reverse()
print output

:)
(There is probably a cleaner way to do this than the quick hack above.)

-- 
Ben Sizer

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to