From cf117c70277fab4d3de170b55fe8248d9cc36927 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Thu, 17 Sep 2026 08:10:52 +0000 Subject: add throw for unmatched brackets --- src/lexer/token.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/lexer') diff --git a/src/lexer/token.cc b/src/lexer/token.cc index ab9f263..26ad1f2 100644 --- a/src/lexer/token.cc +++ b/src/lexer/token.cc @@ -54,8 +54,7 @@ void T_lexer::bracket_depth_changer(char c, int &bracket_depth) loggerln("changed depth: {}", bracket_depth); if (bracket_depth < 0) { - cerr << "Ooooops bracket unmatched, quitting" << endl; - exit(-1); // TODO: std::expected or what, rather than quitting + throw T_error{error_code::TOKEN_UNMATCHED_BRACKET, "tokenizer: unmatched bracket(s)"}; } return; } @@ -194,6 +193,10 @@ int T_lexer::tokenizer(const string &s) continue; } } + + if (bracket_depth != 0) + throw T_error{error_code::TOKEN_UNMATCHED_BRACKET, "tokenizer: unmatched bracket(s)"}; + return 0; } -- cgit v1.3.1-4-g156e