aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2025-06-13 11:27:02 +0530
committerRaghuram Subramani <raghus2247@gmail.com>2025-06-13 11:27:02 +0530
commit35931d1021ac886e85015fc6e1640350cba578a1 (patch)
tree77a4327a908875f7b2a74dc50b4afe62661e3b1a
parent99f70b817ea14012dc4139c8f753e4cccdeb3376 (diff)
lexer: use add_token for number()
-rw-r--r--src/lexer.cc11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/lexer.cc b/src/lexer.cc
index 33e364f..e2a81cd 100644
--- a/src/lexer.cc
+++ b/src/lexer.cc
@@ -125,10 +125,8 @@ Lexer::string(void)
void
Lexer::number(void)
{
- while (isdigit(peek())) {
- printf("%c\n", peek());
+ while (isdigit(peek()))
advance();
- }
if (peek() == '.' && isdigit(peek_next())) {
// .
@@ -145,10 +143,7 @@ Lexer::number(void)
char *lexeme;
asprintf(&lexeme, "%.*s", token_length, m_script + m_start);
- Token token;
- token.init(NUMBER, lexeme, m_line);
- m_tokens->add(&token);
- token.clean();
+ add_token(NUMBER);
}
void
@@ -224,8 +219,10 @@ Lexer::scan_token(void)
if (match('/'))
while (peek() != '\n' && !at_end())
advance();
+
else
add_token(SLASH);
+
break;
case '\n':