aboutsummaryrefslogtreecommitdiff
path: root/src/lexer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lexer.cc')
-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':