From f1e8a3e43a98d3f68bffc7fb1b2088a0b9906299 Mon Sep 17 00:00:00 2001 From: Raghuram Subramani Date: Fri, 13 Jun 2025 16:10:53 +0530 Subject: lexer: user add_token() for strings --- src/lexer.cc | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'src/lexer.cc') diff --git a/src/lexer.cc b/src/lexer.cc index 129531d..8f712e2 100644 --- a/src/lexer.cc +++ b/src/lexer.cc @@ -107,17 +107,9 @@ Lexer::string(void) return; } - int token_length = m_current - m_start - 1; - if (token_length == 0) - token_length++; - - char *lexeme; - asprintf(&lexeme, "%.*s", token_length, m_script + m_start + 1); - - Token token; - token.init(STRING, lexeme, m_line); - m_tokens->add(&token); - token.clean(); + /* opening double quotes should not be in the lexeme */ + m_start++; + add_token(STRING); advance(); } -- cgit v1.2.3