X-Git-Url: https://git.distorted.org.uk/~mdw/fringe/blobdiff_plain/2bd37ef118cb1e41cb0e9e2332a9eb69ac2f2df4..HEAD:/icon-fringe.icn diff --git a/icon-fringe.icn b/icon-fringe.icn index b32dbb7..47f88b0 100644 --- a/icon-fringe.icn +++ b/icon-fringe.icn @@ -44,14 +44,14 @@ end ###-------------------------------------------------------------------------- ### Node structure. -record node(left, data, right) +record Node(left, data, right) ## A simple binary tree structure. 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 + return Node(left, data, right) + } end procedure parse_tree(string)