aboutsummaryrefslogtreecommitdiffstats
path: root/src/bootstrap/errors.h
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2021-10-18 12:31:20 +0200
committerBad Diode <bd@badd10de.dev>2021-10-18 12:31:20 +0200
commit043a96a6b7cf55f7ef58fb5ebf8ad87b7d50b571 (patch)
tree14861de314cfa5587103bd3cf21a761dd0e8248e /src/bootstrap/errors.h
parent6f34133b0661849bccf891ea0aa4d04f45ca9a9a (diff)
downloadbdl-043a96a6b7cf55f7ef58fb5ebf8ad87b7d50b571.tar.gz
bdl-043a96a6b7cf55f7ef58fb5ebf8ad87b7d50b571.zip
Add header files for all modules
Diffstat (limited to 'src/bootstrap/errors.h')
-rw-r--r--src/bootstrap/errors.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/bootstrap/errors.h b/src/bootstrap/errors.h
new file mode 100644
index 0000000..7916f4a
--- /dev/null
+++ b/src/bootstrap/errors.h
@@ -0,0 +1,38 @@
1#ifndef BDL_ERRORS_H
2#define BDL_ERRORS_H
3
4typedef enum ErrorType {
5 ERR_TYPE_LEXER,
6 ERR_TYPE_PARSER,
7 ERR_TYPE_RUNTIME,
8} ErrorType;
9
10typedef enum ErrorValue {
11 ERR_UNKNOWN = 0,
12 ERR_UNMATCHED_STRING,
13 ERR_UNBALANCED_PAREN,
14 ERR_NOT_IMPLEMENTED,
15 ERR_EOF_REACHED,
16 ERR_UNKNOWN_TOKEN,
17 ERR_UNKNOWN_OBJ_TYPE,
18 ERR_NOT_A_SYMBOL,
19 ERR_SYMBOL_NOT_FOUND,
20 ERR_OBJ_NOT_CALLABLE,
21 ERR_NOT_ENOUGH_ARGS,
22 ERR_TOO_MANY_ARGS,
23 ERR_WRONG_ARG_TYPE,
24 ERR_DIVISION_BY_ZERO,
25} ErrorValue;
26
27typedef struct Error {
28 ErrorType type;
29 ErrorValue value;
30 size_t line;
31 size_t col;
32} Error;
33
34void error_push(Error error);
35
36#define ERR_MAX_NUMBER 16
37
38#endif // BDL_ERRORS_H