X-Git-Url: https://git.distorted.org.uk/~mdw/fringe/blobdiff_plain/2bd37ef118cb1e41cb0e9e2332a9eb69ac2f2df4..721cfbbbd06a1b4ce05fcc279d9b3d94adc461da:/icon-fringe.icn diff --git a/icon-fringe.icn b/icon-fringe.icn index b32dbb7..8f9a0a0 100644 --- a/icon-fringe.icn +++ b/icon-fringe.icn @@ -50,8 +50,8 @@ record node(left, data, right) 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() @@ -60,14 +60,15 @@ 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)