DEADSOFTWARE

Исправлено действие конструкции WITH
[dsw-obn.git] / Test.obn
index 8371d40d26dc72bcfbac718753e7ba1e333de80b..8aea2558a93efbec45e4a9117831ef6c41a9542a 100644 (file)
--- a/Test.obn
+++ b/Test.obn
@@ -1,32 +1,17 @@
 MODULE Test;
 
-IMPORT Out;
+TYPE
+  Elem = POINTER TO ElemDesc;
+  ElemDesc = RECORD END;
 
-CONST
-  im1 = -1;
-  bol = ~FALSE;
-  set = { 1, 2, 3..6 };
-  fm1 = -1.0;
-  dm1 = -1.0D0;
+  ElemMsg = RECORD END;
+  CopyMsg = RECORD (ElemMsg) a : Elem; END;
 
-BEGIN
-  Out.Open;
-
-  Out.Int(im1, 0); Out.Ln;
-  Out.Real(fm1, 0); Out.Ln;
-  Out.LongReal(dm1, 0); Out.Ln;
+  Alien = POINTER TO RECORD (ElemDesc) END;
 
-  IF 5 IN set THEN
-    Out.String("SET: Ok"); Out.Ln;
-  ELSE
-    Out.String("INVALID SET"); Out.Ln;
-    HALT(1);
-  END;
+PROCEDURE HandleAlien (VAR msg: ElemMsg);
+BEGIN
+  WITH msg: CopyMsg DO msg.a := NIL END
+END HandleAlien;
 
-  IF bol THEN
-    Out.String("BOOLEAN: Ok"); Out.Ln;
-  ELSE
-    Out.String("INVALID BOOLEAN"); Out.Ln;
-    HALT(1);
-  END;
 END Test.