DEADSOFTWARE

JVM: Реализованы переменные-процедуры в генераторе
[dsw-obn.git] / src / test.c
index b0e9bdafe6527405ecb9d9b0b9cb8bf02aae8dc2..18417ba34fa6241d16ae44c53733960a57e2be91 100644 (file)
@@ -8,24 +8,27 @@ static char source_test[] =
        "(* Main module *)"
        "MODULE Test;"
        "TYPE"
-       "  RecA = RECORD"
-       "    i, j, k : INTEGER;"
-       "  END;"
-       ""
-       "  Rec = POINTER TO RecDesc;"
-       "  RecDesc = RECORD"
-       "    x, y, z : INTEGER;"
-       "    r, q, s : RecA;"
-       "    p, c, g : Rec;"
-       "  END;"
+       "  P = PROCEDURE;"
+       "  F = PROCEDURE (x : INTEGER) : INTEGER;"
        ""
        "VAR"
-       "  a, b : Rec;"
+       "  p : P;"
+       "  f : F;"
+       "  i : INTEGER;"
        ""
+       "PROCEDURE Pow(x : INTEGER) : INTEGER;"
        "BEGIN"
-       "  NEW(a);"
-       "  NEW(b);"
-       "  a^ := b^;"
+       "  RETURN x * x;"
+       "END Pow;"
+       ""
+       "PROCEDURE Do;"
+       "END Do;"
+       ""
+       "BEGIN;"
+       "  p := Do;"
+       "  f := Pow;"
+       "  i := f(7);"
+       "  p;"
        "END Test."
 ;