DEADSOFTWARE

Исправлена проверка VAR-параметров-записей
[dsw-obn.git] / Test.obn
index 8371d40d26dc72bcfbac718753e7ba1e333de80b..b9b14ae66be8abf069ff9c19ca678ff3e117694d 100644 (file)
--- a/Test.obn
+++ b/Test.obn
@@ -1,32 +1,23 @@
 MODULE Test;
 
-IMPORT Out;
+TYPE
+  Stream* = POINTER TO Handle;
+  Handle = RECORD END;
 
-CONST
-  im1 = -1;
-  bol = ~FALSE;
-  set = { 1, 2, 3..6 };
-  fm1 = -1.0;
-  dm1 = -1.0D0;
+  Writer* = RECORD END;
 
-BEGIN
-  Out.Open;
+  Printer* = RECORD (Writer) END;
 
-  Out.Int(im1, 0); Out.Ln;
-  Out.Real(fm1, 0); Out.Ln;
-  Out.LongReal(dm1, 0); Out.Ln;
+VAR
+  s : Stream;
+  o : Writer;
+  out : Printer;
 
-  IF 5 IN set THEN
-    Out.String("SET: Ok"); Out.Ln;
-  ELSE
-    Out.String("INVALID SET"); Out.Ln;
-    HALT(1);
-  END;
+PROCEDURE SetStream(VAR w : Writer; stream : Stream);
+BEGIN
+END SetStream;
 
-  IF bol THEN
-    Out.String("BOOLEAN: Ok"); Out.Ln;
-  ELSE
-    Out.String("INVALID BOOLEAN"); Out.Ln;
-    HALT(1);
-  END;
+BEGIN
+  SetStream(o, s);
+  SetStream(out, s);
 END Test.