From 4f85dcc986ffde45dda59ed0a64c075261ddbe07 Mon Sep 17 00:00:00 2001 From: Carlos Maniero Date: Tue, 18 Apr 2023 09:08:44 -0300 Subject: 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 Reviewed-by: Johnny Richard --- src/lexer.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src') 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; -- cgit v1.2.3