|
|
Initial revision
record bnode(value,left,right)
procedure btree(stree)
local x
stree ? if x := bnode(tab(upto('('))) then {
move(1)
x.left := btree(tab(bal(',')))
move(1)
x.right := btree(tab(bal(')')))
}
else x := bnode(tab(0))
return x
end
procedure stree(btree)
local s
if /btree.left then return btree.value
s := btree.value || "(" ||
stree(btree.left) || "," || stree(btree.right) || ")"
return s
end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.