MODULE Deep; IMPORT Out; CONST N = 10; TYPE Point = RECORD x, y: INTEGER END; Node = POINTER TO NodeDesc; NodeDesc = RECORD key: INTEGER; left, right: Node END; VAR pt: Point; n: Node; i: INTEGER; PROCEDURE Walk(t: Node); BEGIN IF t # NIL THEN Walk(t.left); Walk(t.right) END END Walk; BEGIN NEW(n); n.key := 5; n.left := NIL; pt.x := 1; pt.y := 2; WHILE i < N DO INC(i) END; CASE i OF 1..3: Out.Int(i, 0) | 4, 5: Out.Char("x") ELSE Out.Ln END; Walk(n) END Deep.