MODULE Deep; CONST N = 10; Neg = -5; Pi = 3.14159; Hello = "hi"; TYPE IntArr = ARRAY 10 OF INTEGER; Matrix = ARRAY 2, 3 OF INTEGER; Point = RECORD x, y: INTEGER END; PInt = POINTER TO RECORD v: INTEGER END; Node = POINTER TO NodeDesc; NodeDesc = RECORD key: INTEGER; left, right: Node END; VAR i, j: INTEGER; ch: CHAR; b: BOOLEAN; r: REAL; a: IntArr; pt: Point; p: PInt; t: Node; PROCEDURE Sum(a, b: INTEGER): INTEGER; BEGIN RETURN a + b END Sum; PROCEDURE Fill(VAR a: IntArr; val: INTEGER); VAR k: INTEGER; BEGIN k := 1; WHILE k <= N DO a[k] := val; k := k + 1 END END Fill; BEGIN i := 1; WHILE i < N DO i := i + 1 END; REPEAT CASE i OF 1: i := 1 | 2, 3: i := 2 ELSE i := 9 END UNTIL i > N; LOOP IF i > N THEN EXIT END; i := i + 1 END; pt.x := Sum(1, 2); NEW(p); p.v := 1; NEW(t); t.key := 5; WITH t: Node DO t.key := 6 END; r := 1.5E-3; b := (i = 1) & (j # 2) OR ~b; Fill(a, 0) END Deep.