diff options
author | Raghuram Subramani <raghus2247@gmail.com> | 2025-06-13 11:27:02 +0530 |
---|---|---|
committer | Raghuram Subramani <raghus2247@gmail.com> | 2025-06-13 11:27:02 +0530 |
commit | 35931d1021ac886e85015fc6e1640350cba578a1 (patch) | |
tree | 77a4327a908875f7b2a74dc50b4afe62661e3b1a | |
parent | 99f70b817ea14012dc4139c8f753e4cccdeb3376 (diff) |
lexer: use add_token for number()
-rw-r--r-- | src/lexer.cc | 11 |
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': |