DEADSOFTWARE

Исправлены опережающие объявления локальных типов-записей, добавлены модули Oberon...
[dsw-obn.git] / Test.obn
index 8aea2558a93efbec45e4a9117831ef6c41a9542a..ecfde58b9f0e5fadb5eb6a9a884a62ede7a56351 100644 (file)
--- a/Test.obn
+++ b/Test.obn
@@ -1,17 +1,21 @@
 MODULE Test;
 
 TYPE
-  Elem = POINTER TO ElemDesc;
-  ElemDesc = RECORD END;
+  A = POINTER TO RECORD B : B; END;
 
-  ElemMsg = RECORD END;
-  CopyMsg = RECORD (ElemMsg) a : Elem; END;
+  B = POINTER TO RECORD x : A END;
 
-  Alien = POINTER TO RECORD (ElemDesc) END;
+VAR
+  a : A;
 
-PROCEDURE HandleAlien (VAR msg: ElemMsg);
+PROCEDURE Do;
+  TYPE
+    ListPtr = POINTER TO ListNode;
+    ListNode = RECORD next: ListPtr END;
 BEGIN
-  WITH msg: CopyMsg DO msg.a := NIL END
-END HandleAlien;
+END Do;
 
+BEGIN
+  NEW(a);
+  a.B := NIL;
 END Test.