4 #include <string.h>
5 #include <assert.h>
8 "(* Main module *)"
9 "MODULE Test;"
10 "IMPORT Out;"
11 ""
12 "VAR"
13 " nx- : INTEGER;"
14 " p : POINTER TO ARRAY 3 OF RECORD i, j, k : INTEGER END;"
15 " q : POINTER TO RECORD x, y, z : INTEGER END;"
16 ""
17 "PROCEDURE ChParam(VAR i : INTEGER);"
18 "BEGIN"
19 " i := 1234;"
20 "END ChParam;"
21 ""
22 "BEGIN;"
23 " NEW(p);"
24 " p[2].k := 1;"
25 " NEW(q);"
26 " "
27 " Out.Open;"
28 " ChParam(nx);"
29 " Out.Int(nx, 0);"
30 " Out.Ln;"
31 "END Test."
32 ;
35 "MODULE Out;"
36 "(* Interface to outer program ;) *)"
37 "VAR"
38 " Open- : PROCEDURE;"
39 // " Char- : PROCEDURE(ch : CHAR);"
40 // " String- : PROCEDURE(str : ARRAY OF CHAR)"
41 // " Int- : PROCEDURE(i, n : LONGINT);"
42 " Int- : PROCEDURE(i, n : INTEGER);"
43 // " Real- : PROCEDURE(x : REAL; n : INTEGER);"
44 // " LongReal- : PROCEDURE(x : LONGREAL; n : INTEGER);"
45 " Ln- : PROCEDURE;"
46 "END Out."
47 ;
54 {
56 {
58 }
60 {
62 }
63 else
64 {
66 }
67 }
72 {
73 }
78 {
83 {
85 }
87 }
92 {
94 }
97 {
104 }
107 {
110 }
112 int
114 {
128 }