diff --git a/oberon.c b/oberon.c
index b0bb6aa6fa3ba13a60fe7f956fc8dc820d683501..28a351a6fdbfd4e315d4b2959b40a3b440a85f1e 100644 (file)
--- a/oberon.c
+++ b/oberon.c
}
static void
-oberon_new_intrinsic_function(oberon_context_t * ctx, char * name, GenerateFuncCallback generate)
+oberon_new_intrinsic(oberon_context_t * ctx, char * name, GenerateFuncCallback f, GenerateProcCallback p)
{
oberon_object_t * proc;
proc = oberon_define_object(ctx -> decl, name, OBERON_CLASS_PROC);
proc -> sysproc = 1;
- proc -> genfunc = generate;
+ proc -> genfunc = f;
+ proc -> genproc = p;
proc -> type = oberon_new_type_ptr(OBERON_TYPE_PROCEDURE);
}
-/*
-static void
-oberon_new_intrinsic_procedure(oberon_context_t * ctx, char * name, GenerateProcCallback generate)
-{
- oberon_object_t * proc;
- proc = oberon_define_object(ctx -> decl, name, OBERON_CLASS_PROC);
- proc -> sysproc = 1;
- proc -> genproc = generate;
- proc -> type = oberon_new_type_ptr(OBERON_TYPE_PROCEDURE);
-}
-*/
-
static oberon_expr_t *
oberon_make_abs_call(oberon_context_t * ctx, int num_args, oberon_expr_t * list_args)
{
oberon_generator_init_context(ctx);
register_default_types(ctx);
- oberon_new_intrinsic_function(ctx, "ABS", oberon_make_abs_call);
+ oberon_new_intrinsic(ctx, "ABS", oberon_make_abs_call, NULL);
return ctx;
}