56 lines
1,016 B
C
56 lines
1,016 B
C
|
#ifndef f_SYLIA_SCRIPTERROR_H
|
||
|
#define f_SYLIA_SCRIPTERROR_H
|
||
|
|
||
|
class CScriptError {
|
||
|
public:
|
||
|
int err;
|
||
|
|
||
|
enum {
|
||
|
PARSE_ERROR=1,
|
||
|
SEMICOLON_EXPECTED,
|
||
|
IDENTIFIER_EXPECTED,
|
||
|
|
||
|
TYPE_INT_REQUIRED,
|
||
|
TYPE_ARRAY_REQUIRED,
|
||
|
TYPE_FUNCTION_REQUIRED,
|
||
|
TYPE_OBJECT_REQUIRED,
|
||
|
|
||
|
OBJECT_MEMBER_NAME_REQUIRED,
|
||
|
FUNCCALLEND_EXPECTED,
|
||
|
TOO_MANY_PARAMS,
|
||
|
DIVIDE_BY_ZERO,
|
||
|
VAR_NOT_FOUND,
|
||
|
MEMBER_NOT_FOUND,
|
||
|
OVERLOADED_FUNCTION_NOT_FOUND,
|
||
|
IDENT_TOO_LONG,
|
||
|
OPERATOR_EXPECTED,
|
||
|
CLOSEPARENS_EXPECTED,
|
||
|
CLOSEBRACKET_EXPECTED,
|
||
|
|
||
|
VAR_UNDEFINED,
|
||
|
|
||
|
OUT_OF_STRING_SPACE,
|
||
|
OUT_OF_MEMORY,
|
||
|
INTERNAL_ERROR,
|
||
|
EXTERNAL_ERROR,
|
||
|
|
||
|
FCALL_OUT_OF_RANGE,
|
||
|
FCALL_INVALID_PTYPE,
|
||
|
FCALL_UNKNOWN_STR,
|
||
|
};
|
||
|
|
||
|
CScriptError(int err_num) : err(err_num) { }
|
||
|
|
||
|
int getErr() { return err; }
|
||
|
};
|
||
|
|
||
|
#define SCRIPT_ERROR(x) throw CScriptError(CScriptError::##x)
|
||
|
|
||
|
extern "C" __declspec(dllexport) char * __stdcall TranslateScriptError(int);
|
||
|
|
||
|
char inline *TranslateScriptError(CScriptError cse) {
|
||
|
return TranslateScriptError(cse.getErr());
|
||
|
}
|
||
|
|
||
|
#endif
|