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, len : INTEGER;"
14 ""
15 "BEGIN"
16 " Out.Open;"
17 " Out.Int(MIN(BYTE), 0); Out.Ln;"
18 " Out.Int(MIN(SHORTINT), 0); Out.Ln;"
19 " Out.Int(MIN(INTEGER), 0); Out.Ln;"
20 " Out.Int(MIN(LONGINT), 0); Out.Ln;"
21 " Out.Int(MAX(BYTE), 0); Out.Ln;"
22 " Out.Int(MAX(SHORTINT), 0); Out.Ln;"
23 " Out.Int(MAX(INTEGER), 0); Out.Ln;"
24 " Out.Int(MAX(LONGINT), 0); Out.Ln;"
25 " Out.Int(SIZE(BYTE), 0); Out.Ln;"
26 " Out.Int(SIZE(SHORTINT), 0); Out.Ln;"
27 " Out.Int(SIZE(INTEGER), 0); Out.Ln;"
28 " Out.Int(SIZE(LONGINT), 0); Out.Ln;"
29 "END Test."
30 ;
33 "MODULE Out;"
34 " PROCEDURE Open*;"
35 " END Open;"
36 ""
37 " PROCEDURE Char* (ch : CHAR);"
38 " END Char;"
39 ""
40 " PROCEDURE String* (str : ARRAY OF CHAR);"
41 " END String;"
42 ""
43 " PROCEDURE Int*(i, n : LONGINT);"
44 " END Int;"
45 ""
46 " PROCEDURE Real*(x : REAL; n : INTEGER);"
47 " END Real;"
48 ""
49 " PROCEDURE LongReal*(x : LONGREAL; n : INTEGER);"
50 " END LongReal;"
51 ""
52 " PROCEDURE Ln*;"
53 " END Ln;"
54 ""
55 "END Out."
56 ;
63 {
65 {
67 }
69 {
71 }
72 else
73 {
75 }
76 }
81 {
82 }
87 {
92 {
94 }
96 }
101 {
106 {
108 }
110 }
115 {
117 }
120 {
129 }
132 {
135 }
137 int
139 {
145 // init_system_modules();
147 // oberon_generator_dump(ctx, "dump.txt");
149 // start_module();
153 }