Annotation of 43BSD/contrib/icon/book/f/btree.icn, revision 1.1

1.1     ! root        1: record bnode(value,left,right)
        !             2: 
        !             3: procedure btree(stree)
        !             4:    local x
        !             5:    stree ? if x := bnode(tab(upto('('))) then {
        !             6:       move(1)
        !             7:       x.left := btree(tab(bal(',')))
        !             8:       move(1)
        !             9:       x.right := btree(tab(bal(')')))
        !            10:       }
        !            11:       else x := bnode(tab(0))
        !            12:    return x
        !            13: end
        !            14: 
        !            15: procedure stree(btree)
        !            16:    local s
        !            17:    if /btree.left then return btree.value
        !            18:    s := btree.value || "(" ||
        !            19:       stree(btree.left) || "," || stree(btree.right) || ")"
        !            20:    return s
        !            21: end

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.