diff --git a/Test.obn b/Test.obn
index 8371d40d26dc72bcfbac718753e7ba1e333de80b..3c862c1d5917486426e84aa32439b268bb8baf88 100644 (file)
--- a/Test.obn
+++ b/Test.obn
MODULE Test;
MODULE Test;
-IMPORT Out;
-
-CONST
- im1 = -1;
- bol = ~FALSE;
- set = { 1, 2, 3..6 };
- fm1 = -1.0;
- dm1 = -1.0D0;
+TYPE
+ Object = RECORD
+ mth : PROCEDURE;
+ END;
-BEGIN
- Out.Open;
+VAR
+ p : PROCEDURE;
+ o, a : Object;
- Out.Int(im1, 0); Out.Ln;
- Out.Real(fm1, 0); Out.Ln;
- Out.LongReal(dm1, 0); Out.Ln;
+PROCEDURE X;
+END X;
- IF 5 IN set THEN
- Out.String("SET: Ok"); Out.Ln;
- ELSE
- Out.String("INVALID SET"); Out.Ln;
- HALT(1);
- END;
+PROCEDURE Z(VAR g : Object);
+BEGIN
+ g.mth;
+END Z;
- IF bol THEN
- Out.String("BOOLEAN: Ok"); Out.Ln;
- ELSE
- Out.String("INVALID BOOLEAN"); Out.Ln;
- HALT(1);
- END;
+BEGIN
+ p := X;
+ ASSERT(p # NIL);
+ o.mth := X;
+ ASSERT(o.mth # NIL);
+ a := o;
+ ASSERT(a.mth # NIL);
+ Z(a);
END Test.
END Test.