It's just a little prettier this way.
procedure fringe(node)
## Generate the elements of the tree headed by NODE inorder.
- if /node then fail
- suspend fringe(node.left) | node.data | fringe(node.right)
+ if \node then
+ suspend fringe(node.left) | node.data | fringe(node.right)
end
procedure scan_tree()
local data, left, right
- if ="(" then {
+ if not ="(" then
+ return &null
+ else {
left := scan_tree()
data := move(1) | bail("no data")
right := scan_tree()
=")" | bail("missing )")
return node(left, data, right)
- } else
- return &null
+ }
end
procedure parse_tree(string)