MODULE Test;
+TYPE
+ Object = RECORD
+ mth : PROCEDURE;
+ END;
+
VAR
- i : INTEGER;
- f : REAL;
- d : LONGREAL;
+ p : PROCEDURE;
+ o, a : Object;
+
+PROCEDURE X;
+END X;
+
+PROCEDURE Z(VAR g : Object);
+BEGIN
+ g.mth;
+END Z;
BEGIN
- i := 5 DIV 3;
- f := 5 / 3;
- d := 5 / 3.0;
- d := 5 / 3.0D0;
+ p := X;
+ ASSERT(p # NIL);
+ o.mth := X;
+ ASSERT(o.mth # NIL);
+ a := o;
+ ASSERT(a.mth # NIL);
+ Z(a);
END Test.