DEADSOFTWARE

JVM: Реализованы переменные-процедуры в генераторе
[dsw-obn.git] / src / test.c
index 2419c3b7c0045ea6906c517822afe5560bff59bc..18417ba34fa6241d16ae44c53733960a57e2be91 100644 (file)
@@ -8,16 +8,27 @@ static char source_test[] =
        "(* Main module *)"
        "MODULE Test;"
        "TYPE"
-       "  Packed = ARRAY 16, 32 OF RECORD a : INTEGER; r : RECORD x : INTEGER; END; END;"
-       "  IArray = ARRAY 16, 32, 666 OF INTEGER;"
+       "  P = PROCEDURE;"
+       "  F = PROCEDURE (x : INTEGER) : INTEGER;"
+       ""
        "VAR"
-       "  k : POINTER TO Packed;"
-       "  ii : POINTER TO IArray;"
+       "  p : P;"
+       "  f : F;"
+       "  i : INTEGER;"
+       ""
+       "PROCEDURE Pow(x : INTEGER) : INTEGER;"
        "BEGIN"
-       "  NEW(k);"
-       "  k[1, 2].a := 666;"
-       "  k[5, 2].r.x := 456;"
-       "  NEW(ii);"
+       "  RETURN x * x;"
+       "END Pow;"
+       ""
+       "PROCEDURE Do;"
+       "END Do;"
+       ""
+       "BEGIN;"
+       "  p := Do;"
+       "  f := Pow;"
+       "  i := f(7);"
+       "  p;"
        "END Test."
 ;