aboutsummaryrefslogtreecommitdiff
path: root/src/tokenizer.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2024-06-28 09:21:33 +0100
committergingerBill <bill@gingerbill.org>2024-06-28 09:21:33 +0100
commitdde7cb6e7f1c9196286c924fae9e06f6a8f9b43f (patch)
tree7ee732957549b62883854d9f93174745ec2f2e4d /src/tokenizer.cpp
parent862a04376f589b23c34700d8e7c746048741e19f (diff)
Improve error message for #3754
Diffstat (limited to 'src/tokenizer.cpp')
-rw-r--r--src/tokenizer.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/tokenizer.cpp b/src/tokenizer.cpp
index 1a37043d7..8458062b6 100644
--- a/src/tokenizer.cpp
+++ b/src/tokenizer.cpp
@@ -470,6 +470,7 @@ gb_internal void scan_number_to_token(Tokenizer *t, Token *token, bool seen_deci
advance_to_next_rune(t);
scan_mantissa(t, 2);
if (t->curr - prev <= 2) {
+ tokenizer_err(t, "Invalid binary integer");
token->kind = Token_Invalid;
}
goto end;
@@ -477,6 +478,7 @@ gb_internal void scan_number_to_token(Tokenizer *t, Token *token, bool seen_deci
advance_to_next_rune(t);
scan_mantissa(t, 8);
if (t->curr - prev <= 2) {
+ tokenizer_err(t, "Invalid octal integer");
token->kind = Token_Invalid;
}
goto end;
@@ -484,6 +486,7 @@ gb_internal void scan_number_to_token(Tokenizer *t, Token *token, bool seen_deci
advance_to_next_rune(t);
scan_mantissa(t, 10);
if (t->curr - prev <= 2) {
+ tokenizer_err(t, "Invalid explicitly decimal integer");
token->kind = Token_Invalid;
}
goto end;
@@ -491,6 +494,7 @@ gb_internal void scan_number_to_token(Tokenizer *t, Token *token, bool seen_deci
advance_to_next_rune(t);
scan_mantissa(t, 12);
if (t->curr - prev <= 2) {
+ tokenizer_err(t, "Invalid dozenal integer");
token->kind = Token_Invalid;
}
goto end;
@@ -498,6 +502,7 @@ gb_internal void scan_number_to_token(Tokenizer *t, Token *token, bool seen_deci
advance_to_next_rune(t);
scan_mantissa(t, 16);
if (t->curr - prev <= 2) {
+ tokenizer_err(t, "Invalid hexadecimal integer");
token->kind = Token_Invalid;
}
goto end;
@@ -506,6 +511,7 @@ gb_internal void scan_number_to_token(Tokenizer *t, Token *token, bool seen_deci
advance_to_next_rune(t);
scan_mantissa(t, 16);
if (t->curr - prev <= 2) {
+ tokenizer_err(t, "Invalid hexadecimal float");
token->kind = Token_Invalid;
} else {
u8 *start = prev+2;