1 #include <stdio.h>
2 #include <string.h>
3 #include <assert.h>
8 "(* Main module *)"
9 "MODULE Test;"
10 "IMPORT Out;"
11 ""
12 "VAR"
13 " i : INTEGER;"
14 ""
15 "BEGIN"
16 " i := 0;"
17 " Out.Open();"
18 " REPEAT"
19 " Out.String('Count '); Out.Int(i, 0); Out.Ln;"
20 " i := i + 1;"
21 " UNTIL i < 4;"
22 " Out.String('end'); Out.Ln;"
23 "END Test."
24 ;
27 "MODULE Out;"
28 " PROCEDURE Open*;"
29 " END Open;"
30 ""
31 " PROCEDURE Char* (ch : CHAR);"
32 " END Char;"
33 ""
34 " PROCEDURE String* (str : ARRAY OF CHAR);"
35 " END String;"
36 ""
37 " PROCEDURE Int*(i, n : LONGINT);"
38 " END Int;"
39 ""
40 " PROCEDURE Real*(x : REAL; n : INTEGER);"
41 " END Real;"
42 ""
43 " PROCEDURE LongReal*(x : LONGREAL; n : INTEGER);"
44 " END LongReal;"
45 ""
46 " PROCEDURE Ln*;"
47 " END Ln;"
48 ""
49 "END Out."
50 ;
57 {
59 {
61 }
63 {
65 }
66 else
67 {
69 }
70 }
75 {
76 }
81 {
86 {
88 }
90 }
95 {
100 {
102 }
104 }
109 {
111 }
114 {
123 }
126 {
129 }
131 int
133 {
139 // init_system_modules();
141 // oberon_generator_dump(ctx, "dump.txt");
143 // start_module();
147 }