7a449d63c16f129c4fd450d3b537d2d5240bd7fc
1 #include <stdio.h>
2 #include <string.h>
3 #include <assert.h>
8 "(* Main module *)"
9 "MODULE Test;"
10 "IMPORT Out;"
11 "TYPE"
12 " Baser = RECORD a : INTEGER; END;"
13 " R1 = RECORD (Baser)"
14 " b : R2;"
15 " END;"
16 " "
17 " R2 = RECORD"
18 " a : POINTER TO R1;"
19 " END;"
20 ""
21 "VAR"
22 " baser : Baser;"
23 " r : R1;"
24 " inv : R2;"
25 ""
26 "BEGIN"
27 " r.a := 1;"
28 " baser := r(Baser);"
29 "END Test."
30 ;
32 // PROCEDURE Char* (ch : CHAR);
33 // PROCEDURE String* (str : ARRAY OF CHAR);
36 "MODULE Out;"
37 " PROCEDURE Open*;"
38 " END Open;"
39 ""
40 " PROCEDURE Int*(i, n : LONGINT);"
41 " END Int;"
42 ""
43 " PROCEDURE Real*(x : REAL; n : INTEGER);"
44 " END Real;"
45 ""
46 " PROCEDURE LongReal*(x : LONGREAL; n : INTEGER);"
47 " END LongReal;"
48 ""
49 " PROCEDURE Ln*;"
50 " END Ln;"
51 ""
52 "END Out."
53 ;
60 {
62 {
64 }
66 {
68 }
69 else
70 {
72 }
73 }
78 {
79 }
84 {
89 {
91 }
93 }
98 {
103 {
105 }
107 }
112 {
114 }
117 {
126 }
129 {
132 }
134 int
136 {
142 // init_system_modules();
144 // oberon_generator_dump(ctx, "dump.txt");
146 // start_module();
150 }