thesis-lisp/vm/error.c
2021-04-07 22:24:33 +03:00

20 lines
798 B
C

#include "error.h"
const char *vm_strerror(int e) {
switch (e) {
case -ERR_IMAGE_MAGIC: return "Invalid image magic";
case -ERR_IMAGE_INDEX: return "Image indices are invalid";
case -ERR_IMAGE_IO: return "Image I/O error";
case -ERR_OPCODE_UNDEFINED: return "Undefined opcode";
case -ERR_RANGE: return "Range error";
case -ERR_SYMBOL_UNDEFINED: return "Undefined reference to a symbol";
case -ERR_OUT_OF_MEMORY: return "Out of memory";
case -ERR_OPERAND_TYPE: return "Operand type error";
case -ERR_STACK_UNDERFLOW: return "Stack underflow";
case -ERR_STACK_OVERFLOW: return "Stack overflow";
case -ERR_NOT_FOUND: return "Unit not found";
default:
return "Unknown error";
}
}