fix: end of string doesn't get detected properly

This commit is contained in:
TopchetoEU 2022-10-28 10:06:30 +03:00
parent d15bcc542c
commit 1f05551be1

View File

@ -132,11 +132,11 @@ static res_t lexlet_operator(char c, std::vector<char> &tok) {
else return lexer_none();
};
static res_t lexlet_string(char c, std::vector<char> &tok) {
if (c == '"' && tok.back() != '\\') return lexer_end(token_t::STRING_LITERAL, true);
if ((c == '"') && (tok.back() != '\\')) return lexer_end(token_t::STRING_LITERAL, false).add();
else return lexer_none();
};
static res_t lexlet_char(char c, std::vector<char> &tok) {
if (c == '"' && tok.back() != '\\') return lexer_end(token_t::CHAR_LITERAL, true);
if (c == '\'' && tok.back() != '\\') return lexer_end(token_t::CHAR_LITERAL, false).add();
else return lexer_none();
};