diff --git a/src/test.c b/src/test.c
index 0edbdf483353b545427a87e699d3c071aa3c9644..18417ba34fa6241d16ae44c53733960a57e2be91 100644 (file)
--- a/src/test.c
+++ b/src/test.c
"(* Main module *)"
"MODULE Test;"
"TYPE"
- " Rec = POINTER TO RecDesc;"
- " RecDesc = RECORD"
- " x, y, z : INTEGER;"
- " r : RECORD xxx : INTEGER; END;"
- " 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;"
- " r.r.xxx := 666;"
+ " RETURN x * x;"
+ "END Pow;"
+ ""
+ "PROCEDURE Do;"
+ "END Do;"
+ ""
+ "BEGIN;"
+ " p := Do;"
+ " f := Pow;"
+ " i := f(7);"
+ " p;"
"END Test."
;