DEADSOFTWARE

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