DEADSOFTWARE

Добавлено экспортирование объектов в модулях
[dsw-obn.git] / test.c
1 #include "oberon.h"
2 #include "generator.h"
4 #include <string.h>
5 #include <assert.h>
7 static char source_test[] =
8 "MODULE Test;"
9 "IMPORT I := Imported;"
10 "VAR"
11 " x : I.Rider;"
12 "BEGIN"
13 " I.Ln;"
14 "END Test."
15 ;
17 static char source_imported[] =
18 "MODULE Imported;"
19 "TYPE"
20 " Rider* = RECORD i : INTEGER; END;"
21 ""
22 "PROCEDURE Ln*;"
23 "END Ln;"
24 ""
25 "BEGIN;"
26 "END Imported."
27 ;
29 static oberon_context_t * ctx;
30 static oberon_module_t * mod;
32 static const char *
33 import_module(const char * name)
34 {
35 if(strcmp(name, "Test") == 0)
36 {
37 return source_test;
38 }
39 else if(strcmp(name, "Imported") == 0)
40 {
41 return source_imported;
42 }
43 else
44 {
45 return NULL;
46 }
47 }
49 int
50 main(int argc, char ** argv)
51 {
52 ctx = oberon_create_context(import_module);
53 mod = oberon_compile_module(ctx, source_test);
54 oberon_generate_code(ctx);
55 oberon_generator_dump(ctx, "dump.txt");
56 oberon_destroy_context(ctx);
57 return 0;
58 }