index 7149026862087a8f63577916ffd361e8b89b08ef..42526b66791c035ca854e2221050f26eeac893e5 100644 (file)
--- a/test.c
+++ b/test.c
#include "oberon.h"
#include <assert.h>
-static oberon_type_t integer = { "INTEGER", OBERON_TYPE_INTEGER, sizeof(int) };
-static oberon_type_t boolean = { "BOOLEAN", OBERON_TYPE_BOOLEAN, sizeof(int) };
-
static const char source[] =
"MODULE Test;"
+ "CONST"
+ " con = 3;"
+ ""
+ "TYPE"
+ " MyInt = INTEGER;"
+ " MyArr = ARRAY con OF MyInt;"
+ " MyRec = RECORD a : MyInt; b : MyInt; END;"
+ " MyProc = PROCEDURE;"
+ ""
"VAR"
" k : INTEGER;"
" i : INTEGER;"
" b : BOOLEAN;"
+ " arr : MyArr;"
+ " rec : MyRec;"
+ " proc : MyProc;"
+ ""
+ "PROCEDURE Tier;"
+ "BEGIN"
+ " k := 314 + con;"
+ "END Tier;"
+ ""
+ "PROCEDURE Tier2(x : INTEGER; y : INTEGER);"
+ "BEGIN"
+ " k := x + y;"
+ "END Tier2;"
+ ""
+ "PROCEDURE Tier3(x : INTEGER) : INTEGER;"
+ "BEGIN"
+ " RETURN x * x * x;"
+ "END Tier3;"
+ ""
"BEGIN"
- " k := 10;"
+ " k := 1;"
" i := k;"
- " b := TRUE;"
+ " b := (TRUE # FALSE);"
+ " Tier();"
+ " Tier2(21, 13);"
+ " k := Tier3(2);"
+ " arr[0] := 1;"
+ " arr[1] := arr[0];"
+ " rec.a := 1;"
+ " rec.b := rec.a;"
"END Test."
;
main(int argc, char ** argv)
{
ctx = oberon_create_context();
- oberon_register_global_type(ctx, &integer);
- oberon_register_global_type(ctx, &boolean);
mod = oberon_compile_module(ctx, source);
+ //mod -> begin();
oberon_destroy_context(ctx);
return 0;
}