aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2025-06-13 16:10:53 +0530
committerRaghuram Subramani <raghus2247@gmail.com>2025-06-13 16:10:53 +0530
commitf1e8a3e43a98d3f68bffc7fb1b2088a0b9906299 (patch)
treeb094a9fcace3d4c5fe8073cc3327e4d5e3dba42c
parent528b1e05c982e2625aa4b30d62dbfa7a4e69f269 (diff)
lexer: user add_token() for stringsHEADmain
-rw-r--r--src/lexer.cc14
1 files changed, 3 insertions, 11 deletions
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();
}