DEADSOFTWARE

JVM: Реализованы переменные-процедуры в генераторе
[dsw-obn.git] / src / test.c
index 2b9fd062da0926c61a72b7d0842b9fd02f1eebf0..18417ba34fa6241d16ae44c53733960a57e2be91 100644 (file)
@@ -8,26 +8,27 @@ static char source_test[] =
        "(* Main module *)"
        "MODULE Test;"
        "TYPE"
-       "  Arr = ARRAY 32, 768 OF INTEGER;"
-       "  RecDesc = RECORD x, y, z : INTEGER; END;"
+       "  P = PROCEDURE;"
+       "  F = PROCEDURE (x : INTEGER) : INTEGER;"
        ""
        "VAR"
-       "  z : Arr;"
-       "  r : RecDesc;"
+       "  p : P;"
+       "  f : F;"
+       "  i : INTEGER;"
        ""
-       "PROCEDURE TestRecordCopy(rrr : RecDesc);"
-       "END TestRecordCopy;"
+       "PROCEDURE Pow(x : INTEGER) : INTEGER;"
+       "BEGIN"
+       "  RETURN x * x;"
+       "END Pow;"
        ""
-       "PROCEDURE TestArrayCopy(aaa : Arr);"
-       "END TestArrayCopy;"
-       ""
-       "PROCEDURE TestOpenArrayCopy(ppp : ARRAY OF ARRAY OF INTEGER);"
-       "END TestOpenArrayCopy;"
+       "PROCEDURE Do;"
+       "END Do;"
        ""
        "BEGIN;"
-       "  TestRecordCopy(r);"
-       "  TestArrayCopy(z);"
-       "  TestOpenArrayCopy(z);"
+       "  p := Do;"
+       "  f := Pow;"
+       "  i := f(7);"
+       "  p;"
        "END Test."
 ;