From ffcf768d07c82a2213674fbec623c684e8feb9ee Mon Sep 17 00:00:00 2001 From: _ov4 Date: Wed, 9 Sep 2026 12:28:04 +0000 Subject: add error system --- src/lexer/ast.cc | 13 +++++-------- src/lexer/token.cc | 1 + 2 files changed, 6 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/lexer/ast.cc b/src/lexer/ast.cc index 755e909..4fbb62a 100644 --- a/src/lexer/ast.cc +++ b/src/lexer/ast.cc @@ -9,6 +9,7 @@ #include "lexer/token.h" #include "lexer/symbol_property.h" #include "util/io.h" +#include "error.h" using namespace std; @@ -112,29 +113,25 @@ void T_lexer::parse(size_t cmd_begin, size_t cmd_end, size_t ast_vec) // miss left if (symbol_property[token_str].left == EXIST && cmd_begin == found_pos) { - loggerln("parse: missing left child"); - exit(-1); // TODO + throw T_error{error_code::AST_MISS_LEFT_CHILD, "parse: missing left child"}; } // miss right if (symbol_property[token_str].right == EXIST && cmd_end-1 == found_pos) { - loggerln("parse: missing right child"); - exit(-1); // TODO + throw T_error{error_code::AST_MISS_RIGHT_CHILD, "parse: missing right child"}; } // should not exist left if (symbol_property[token_str].left == NOT_EXIST && cmd_begin != found_pos) { - loggerln("parse: left child should NOT exist"); - exit(-1); // TODO + throw T_error{error_code::AST_EXIST_LEFT_CHILLD, "parse: left child should NOT exist"}; } // should not exist right if (symbol_property[token_str].right == NOT_EXIST && cmd_end-1 != found_pos) { - loggerln("parse: right child should NOT exist"); - exit(-1); // TODO + throw T_error{error_code::AST_EXIST_LEFT_CHILLD, "parse: right child should NOT exist"}; } size_t l = alloc_ast(); diff --git a/src/lexer/token.cc b/src/lexer/token.cc index 071d00c..091a7ab 100644 --- a/src/lexer/token.cc +++ b/src/lexer/token.cc @@ -8,6 +8,7 @@ #include "lexer/enum_type.h" #include "lexer/symbol_property.h" #include "util/io.h" +#include "error.h" using namespace std; // remove this -- cgit v1.3.1-4-g156e