#include #include #include #include "../include/oberon.h" #include "oberon-internals.h" void oberon_error(oberon_context_t * ctx, const char * fmt, ...) { va_list ptr; va_start(ptr, fmt); fprintf(stderr, "error: "); vfprintf(stderr, fmt, ptr); fprintf(stderr, "\n"); fprintf(stderr, " code_index = %i\n", ctx -> code_index); fprintf(stderr, " c = %c\n", ctx -> c); fprintf(stderr, " token = %i\n", ctx -> token); va_end(ptr); exit(1); }