DEADSOFTWARE

Добавлены объявления типов-записей и типов-процедур, добавлены и исправлены селекторы...
[dsw-obn.git] / test.c
1 #include "oberon.h"
2 #include <assert.h>
4 static const char source[] =
5 "MODULE Test;"
6 "CONST"
7 " con = 3;"
8 ""
9 "TYPE"
10 " MyInt = INTEGER;"
11 " MyArr = ARRAY con OF MyInt;"
12 " MyRec = RECORD a : MyInt; b : MyInt; END;"
13 " MyProc = PROCEDURE;"
14 ""
15 "VAR"
16 " k : INTEGER;"
17 " i : INTEGER;"
18 " b : BOOLEAN;"
19 " arr : MyArr;"
20 " rec : MyRec;"
21 " proc : MyProc;"
22 ""
23 "PROCEDURE Tier;"
24 "BEGIN"
25 " k := 314 + con;"
26 "END Tier;"
27 ""
28 "PROCEDURE Tier2(x : INTEGER; y : INTEGER);"
29 "BEGIN"
30 " k := x + y;"
31 "END Tier2;"
32 ""
33 "PROCEDURE Tier3(x : INTEGER) : INTEGER;"
34 "BEGIN"
35 " RETURN x * x * x;"
36 "END Tier3;"
37 ""
38 "BEGIN"
39 " k := 1;"
40 " i := k;"
41 " b := (TRUE # FALSE);"
42 " Tier();"
43 " Tier2(21, 13);"
44 " k := Tier3(2);"
45 " arr[0] := 1;"
46 " arr[1] := arr[0];"
47 " rec.a := 1;"
48 " rec.b := rec.a;"
49 "END Test."
50 ;
52 static oberon_context_t * ctx;
53 static oberon_module_t * mod;
55 int
56 main(int argc, char ** argv)
57 {
58 ctx = oberon_create_context();
59 mod = oberon_compile_module(ctx, source);
60 //mod -> begin();
61 oberon_destroy_context(ctx);
62 return 0;
63 }