DEADSOFTWARE

Исправлены опережающие объявления локальных типов-записей, добавлены модули Oberon...
[dsw-obn.git] / Test.obn
index b80d7a15c3a490308c7b343ab2843e710f22efde..ecfde58b9f0e5fadb5eb6a9a884a62ede7a56351 100644 (file)
--- a/Test.obn
+++ b/Test.obn
@@ -1,22 +1,21 @@
 MODULE Test;
 
 TYPE
-  R1 = RECORD END;
-  R2 = RECORD (R1) END;
-  R3 = RECORD END;
+  A = POINTER TO RECORD B : B; END;
 
-  P1 = POINTER TO R1;
-  P2 = POINTER TO R2;
+  B = POINTER TO RECORD x : A END;
 
 VAR
-  a : R1;
-  b : R2;
-  c : R3;
-  p1 : P1;
-  p2 : P2;
+  a : A;
 
+PROCEDURE Do;
+  TYPE
+    ListPtr = POINTER TO ListNode;
+    ListNode = RECORD next: ListPtr END;
 BEGIN
-  a := b;
-  p2 := p1(P2);
-  p1 := p2(P2);
+END Do;
+
+BEGIN
+  NEW(a);
+  a.B := NIL;
 END Test.