0eb787ca9b45e4df2b49ec325567a651fd57636c
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 " Out.Open;"
17 " CASE 666 OF"
18 " 2, 3, 4, 5: Out.String('Zero');"
19 " | 10..20, 24: Out.String('Holy shit');"
20 " ELSE"
21 " Out.String('Something else');"
22 " END;"
23 " Out.Ln;"
24 "END Test."
25 ;
28 "MODULE Out;"
29 " PROCEDURE Open*;"
30 " END Open;"
31 ""
32 " PROCEDURE Char* (ch : CHAR);"
33 " END Char;"
34 ""
35 " PROCEDURE String* (str : ARRAY OF CHAR);"
36 " END String;"
37 ""
38 " PROCEDURE Int*(i, n : LONGINT);"
39 " END Int;"
40 ""
41 " PROCEDURE Real*(x : REAL; n : INTEGER);"
42 " END Real;"
43 ""
44 " PROCEDURE LongReal*(x : LONGREAL; n : INTEGER);"
45 " END LongReal;"
46 ""
47 " PROCEDURE Ln*;"
48 " END Ln;"
49 ""
50 "END Out."
51 ;
58 {
60 {
62 }
64 {
66 }
67 else
68 {
70 }
71 }
76 {
77 }
82 {
87 {
89 }
91 }
96 {
101 {
103 }
105 }
110 {
112 }
115 {
124 }
127 {
130 }
132 int
134 {
140 // init_system_modules();
142 // oberon_generator_dump(ctx, "dump.txt");
144 // start_module();
148 }