diff options
author | Bad Diode <bd@badd10de.dev> | 2022-02-01 18:36:52 +0100 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2022-02-01 18:36:52 +0100 |
commit | ee1a5de91c875fb66724dc21c02333bfebe2a812 (patch) | |
tree | d3eaa226816d295bb9dc48a2aed27044832ec413 /src/errors.h | |
parent | 3156265c7b2da8cc43fee996c0518ea274d39c8a (diff) | |
download | bdl-ee1a5de91c875fb66724dc21c02333bfebe2a812.tar.gz bdl-ee1a5de91c875fb66724dc21c02333bfebe2a812.zip |
Add new syntax to lexer and prepare refactor
Diffstat (limited to 'src/errors.h')
-rw-r--r-- | src/errors.h | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/src/errors.h b/src/errors.h index 7d8e977..8a378a2 100644 --- a/src/errors.h +++ b/src/errors.h | |||
@@ -6,26 +6,14 @@ | |||
6 | typedef enum ErrorType { | 6 | typedef enum ErrorType { |
7 | ERR_TYPE_LEXER, | 7 | ERR_TYPE_LEXER, |
8 | ERR_TYPE_PARSER, | 8 | ERR_TYPE_PARSER, |
9 | ERR_TYPE_COMPILER, | ||
10 | ERR_TYPE_RUNTIME, | ||
11 | } ErrorType; | 9 | } ErrorType; |
12 | 10 | ||
13 | typedef enum ErrorValue { | 11 | typedef enum ErrorValue { |
14 | ERR_UNKNOWN = 0, | 12 | ERR_UNKNOWN = 0, |
15 | ERR_UNMATCHED_STRING, | 13 | ERR_UNMATCHED_STRING, |
16 | ERR_UNBALANCED_PAREN, | 14 | ERR_UNKNOWN_TOK_TYPE, |
17 | ERR_NOT_IMPLEMENTED, | 15 | ERR_MALFORMED_NUMBER, |
18 | ERR_EOF_REACHED, | 16 | ERR_OK, |
19 | ERR_UNKNOWN_TOKEN, | ||
20 | ERR_UNKNOWN_OBJ_TYPE, | ||
21 | ERR_NOT_A_SYMBOL, | ||
22 | ERR_SYMBOL_NOT_FOUND, | ||
23 | ERR_NOT_CALLABLE, | ||
24 | ERR_NOT_ENOUGH_ARGS, | ||
25 | ERR_TOO_MANY_ARGS, | ||
26 | ERR_WRONG_ARG_TYPE, | ||
27 | ERR_DIVISION_BY_ZERO, | ||
28 | ERR_AMBIGUOUS_PARAMS, | ||
29 | } ErrorValue; | 17 | } ErrorValue; |
30 | 18 | ||
31 | typedef struct Error { | 19 | typedef struct Error { |
@@ -35,14 +23,8 @@ typedef struct Error { | |||
35 | size_t col; | 23 | size_t col; |
36 | } Error; | 24 | } Error; |
37 | 25 | ||
38 | #define ERR_MAX_NUMBER 16 | 26 | void push_error(ErrorType type, ErrorValue value, size_t line, size_t col); |
39 | 27 | void check_errors(const char *file_name); | |
40 | typedef struct Errors { | 28 | bool has_errors(void); |
41 | Error errors[ERR_MAX_NUMBER]; | ||
42 | size_t n; | ||
43 | } Errors; | ||
44 | |||
45 | void error_push(Errors *errors, Error error); | ||
46 | void report_errors(Errors *errors, const char *file_name); | ||
47 | 29 | ||
48 | #endif // BDL_ERRORS_H | 30 | #endif // BDL_ERRORS_H |