index 2247eac4b7f42e6c463a01918e822d2adf45915e..914764e39d2d3c25382be63f5fe5dada0b9aa4b9 100644 (file)
--- a/test.c
+++ b/test.c
#include "oberon.h"
+#include "generator.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;"
+ "TYPE"
+ " Rec = RECORD i : INTEGER; END;"
"VAR"
" i : INTEGER;"
- " b : BOOLEAN;"
- "BEGIN"
- " i := 10;"
+ " j : INTEGER;"
+ ""
+ "PROCEDURE ^ Tier(x : INTEGER);"
+ ""
+ "PROCEDURE Tier(x : INTEGER);"
+ "VAR a : INTEGER;"
+ "BEGIN;"
+ " a := 1;"
+ "END Tier;"
+ ""
+ "PROCEDURE ^ Tier(x : INTEGER);"
+ ""
+ "BEGIN;"
+ " i := ABS(-666);"
+ " Tier(i);"
+ " ABS(1);"
"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_generator_dump(ctx, "dump.txt");
+ oberon_destroy_context(ctx);
return 0;
}