summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Maniero <carlosmaniero@gmail.com>2023-04-18 09:08:44 -0300
committerJohnny Richard <johnny@johnnyrichard.com>2023-04-18 17:07:07 +0200
commit4f85dcc986ffde45dda59ed0a64c075261ddbe07 (patch)
treeb926009eb0686d9c87dfe5cce74a673ce3dfb0a0
parente3761429de464c42cc2798dc858bf6b43883d9dc (diff)
lexer: extract the lexer_drop_spaces
Extracted logic for skipping empty characters into a separate function. No change in lexer behavior. Signed-off-by: Carlos Maniero <carlosmaniero@gmail.com> Reviewed-by: Johnny Richard <johnny@johnnyrichard.com>
-rw-r--r--src/lexer.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lexer.c b/src/lexer.c
index 00a186a..3e48fd5 100644
--- a/src/lexer.c
+++ b/src/lexer.c
@@ -46,7 +46,7 @@ lexer_define_literal_token_props(lexer_t *lexer, token_t *token, token_kind_t ki
}
void
-lexer_next_token(lexer_t *lexer, token_t *token)
+lexer_drop_spaces(lexer_t *lexer)
{
while (lexer_is_not_eof(lexer) && isspace(lexer_current_char(lexer))) {
if (lexer_current_char(lexer) == '\n') {
@@ -57,7 +57,12 @@ lexer_next_token(lexer_t *lexer, token_t *token)
}
lexer_drop_char(lexer);
}
+}
+void
+lexer_next_token(lexer_t *lexer, token_t *token)
+{
+ lexer_drop_spaces(lexer);
if (lexer_is_not_eof(lexer) && isdigit(lexer_current_char(lexer))) {
size_t begin = lexer->cur;