From ee1a5de91c875fb66724dc21c02333bfebe2a812 Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Tue, 1 Feb 2022 18:36:52 +0100 Subject: Add new syntax to lexer and prepare refactor --- src/errors.h | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) (limited to 'src/errors.h') 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 @@ typedef enum ErrorType { ERR_TYPE_LEXER, ERR_TYPE_PARSER, - ERR_TYPE_COMPILER, - ERR_TYPE_RUNTIME, } ErrorType; typedef enum ErrorValue { ERR_UNKNOWN = 0, ERR_UNMATCHED_STRING, - ERR_UNBALANCED_PAREN, - ERR_NOT_IMPLEMENTED, - ERR_EOF_REACHED, - ERR_UNKNOWN_TOKEN, - ERR_UNKNOWN_OBJ_TYPE, - ERR_NOT_A_SYMBOL, - ERR_SYMBOL_NOT_FOUND, - ERR_NOT_CALLABLE, - ERR_NOT_ENOUGH_ARGS, - ERR_TOO_MANY_ARGS, - ERR_WRONG_ARG_TYPE, - ERR_DIVISION_BY_ZERO, - ERR_AMBIGUOUS_PARAMS, + ERR_UNKNOWN_TOK_TYPE, + ERR_MALFORMED_NUMBER, + ERR_OK, } ErrorValue; typedef struct Error { @@ -35,14 +23,8 @@ typedef struct Error { size_t col; } Error; -#define ERR_MAX_NUMBER 16 - -typedef struct Errors { - Error errors[ERR_MAX_NUMBER]; - size_t n; -} Errors; - -void error_push(Errors *errors, Error error); -void report_errors(Errors *errors, const char *file_name); +void push_error(ErrorType type, ErrorValue value, size_t line, size_t col); +void check_errors(const char *file_name); +bool has_errors(void); #endif // BDL_ERRORS_H -- cgit v1.2.1