4 #include <string.h>
5 #include <assert.h>
8 "(* Main module *)"
9 "MODULE Test;"
10 "IMPORT Out;"
11 "TYPE Ar = ARRAY OF ARRAY OF INTEGER;"
12 "VAR a : POINTER TO Ar;"
13 ""
14 "PROCEDURE Ax(VAR x : POINTER TO Ar);"
15 "BEGIN"
16 " x[0, 0] := 777;"
17 "END Ax;"
18 ""
19 "BEGIN;"
20 " NEW(a, 2, 2);"
21 " a[0, 0] := 666;"
22 " Out.Open;"
23 " Out.Int(a[0, 0], 0);"
24 " Out.Ln;"
25 ""
26 " Ax(a);"
27 // " Out.Int(a[0, 0], 0);"
28 // " Out.Ln;"
29 "END Test."
30 ;
33 "MODULE Out;"
34 "(* Interface to outer program ;) *)"
35 "VAR"
36 " Open- : PROCEDURE;"
37 // " Char- : PROCEDURE(ch : CHAR);"
38 // " String- : PROCEDURE(str : ARRAY OF CHAR)"
39 // " Int- : PROCEDURE(i, n : LONGINT);"
40 " Int- : PROCEDURE(i, n : INTEGER);"
41 " Real- : PROCEDURE(x : REAL; n : INTEGER);"
42 // " LongReal- : PROCEDURE(x : LONGREAL; n : INTEGER);"
43 " Ln- : PROCEDURE;"
44 "END Out."
45 ;
52 {
54 {
56 }
58 {
60 }
61 else
62 {
64 }
65 }
70 {
71 }
76 {
81 {
83 }
85 }
90 {
95 {
97 }
99 }
104 {
106 }
109 {
118 }
121 {
124 }
126 int
128 {
142 }