34 lines
825 B
C++
34 lines
825 B
C++
#include "error.h"
|
|
#include <stdio.h>
|
|
#include <string>
|
|
#include "tokenizer.h"
|
|
|
|
static char errormsg[255];
|
|
static bool raised = false;
|
|
static std::string warning_msg = "";
|
|
|
|
void error_raise(const char* msg) {
|
|
if (!raised) {
|
|
raised = true;
|
|
sprintf(errormsg, "ERROR: %s at %d:%d.\n", msg, tkn_get_line() + 1, tkn_get_row() + 1);
|
|
}
|
|
}
|
|
|
|
void error_warning(const char *msg) {
|
|
char warningmsg[255];
|
|
sprintf(warningmsg, "WARNING: %s at %d:%d.\n", msg, tkn_get_line() + 1, tkn_get_row() + 1);
|
|
warning_msg += warningmsg;
|
|
}
|
|
|
|
bool error_raised() { return raised; }
|
|
|
|
void error_print(unsigned char* mem) {
|
|
//char* msg = errormsg;
|
|
//while (*msg != 0) *mem++ = *msg++;
|
|
printf("%s", errormsg);
|
|
}
|
|
|
|
void error_print_warnings() {
|
|
if (warning_msg == "") warning_msg = "Compilation OK.\n";
|
|
printf("%s", warning_msg.c_str());
|
|
} |