diff --git a/src/lexer/lexer.c b/src/lexer/lexer.c index fd54c98..2505649 100644 --- a/src/lexer/lexer.c +++ b/src/lexer/lexer.c @@ -270,8 +270,13 @@ struct token *peek_token(void) while (i < remaining_chars) { - // true if we didn't encounter a quotes of any type at stream[i] - if (!update_lexing_mode(stream, i, &lexing_mode)) + // true if encountered a quotes of any type at stream[i] + if (update_lexing_mode(stream, i, &lexing_mode)) + { + i++; + continue; + } + else { if (is_special_char(stream[i])) { @@ -309,8 +314,13 @@ struct token *pop_token(void) while (i < remaining_chars) { - // true if we didn't encounter a quotes of any type at stream[i] - if (!update_lexing_mode(stream, i, &lexing_mode)) + // true if encountered a quotes of any type at stream[i] + if (update_lexing_mode(stream, i, &lexing_mode)) + { + i++; + continue; + } + else { if (is_special_char(stream[i])) {