#ifndef OBERON_H #define OBERON_H typedef struct oberon_type_t oberon_type_t; typedef struct oberon_module_t oberon_module_t; typedef struct oberon_context_t oberon_context_t; typedef const char * (*ModuleImportCallback)(const char * name); extern oberon_context_t * oberon_create_context(ModuleImportCallback import_module); extern void oberon_destroy_context(oberon_context_t * ctx); extern oberon_module_t * oberon_compile_module(oberon_context_t * ctx, const char * code); extern void oberon_set_out_directory(oberon_context_t * ctx, const char * path); #endif // OBERON_H