summaryrefslogtreecommitdiff
path: root/src/lexer/token.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lexer/token.c')
-rw-r--r--src/lexer/token.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/lexer/token.c b/src/lexer/token.c
index b58be3e..ea636b1 100644
--- a/src/lexer/token.c
+++ b/src/lexer/token.c
@@ -258,12 +258,30 @@ Token lexer_next(Lexer *l)
{
len++;
}
+ // Consume float suffix (e.g. 1.0f)
+ if (is_ident_start(s[len]))
+ {
+ while (is_ident_char(s[len]))
+ {
+ len++;
+ }
+ }
l->pos += len;
l->col += len;
return (Token){TOK_FLOAT, s, len, start_line, start_col};
}
}
}
+
+ // Consume integer suffix (e.g. 1u, 100u64, 1L)
+ if (is_ident_start(s[len]))
+ {
+ while (is_ident_char(s[len]))
+ {
+ len++;
+ }
+ }
+
l->pos += len;
l->col += len;
return (Token){TOK_INT, s, len, start_line, start_col};