summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Maniero <carlosmaniero@gmail.com>2023-04-26 01:57:41 -0300
committerJohnny Richard <johnny@johnnyrichard.com>2023-04-26 09:11:43 +0200
commitdddec15f6ac62311b4980f0de9e6893da00481ae (patch)
tree21533002fb7aef8b400ffdda562f5d5c768b8c53
parentb8e76aa1e888a4602d4220206bbea8d04882fae2 (diff)
lexer: Remove duplicated validation
Since there is a guard-cause checking if the token is EOF there is no need to check it again and again. Signed-off-by: Carlos Maniero <carlosmaniero@gmail.com> Reviewed-by: Johnny Richard <johnny@johnnyrichar.com>
-rw-r--r--src/lexer.c114
1 files changed, 56 insertions, 58 deletions
diff --git a/src/lexer.c b/src/lexer.c
index e5f232b..3730620 100644
--- a/src/lexer.c
+++ b/src/lexer.c
@@ -104,82 +104,80 @@ lexer_next_token(lexer_t *lexer, token_t *token)
return;
}
- if (lexer_is_not_eof(lexer) && isdigit(lexer_current_char(lexer))) {
+ if (isdigit(lexer_current_char(lexer))) {
lexer_tokenize_number(lexer, token);
return;
}
- if (lexer_is_not_eof(lexer) && isalpha(lexer_current_char(lexer))) {
+ if (isalpha(lexer_current_char(lexer))) {
lexer_tokenize_name(lexer, token);
return;
}
- if (lexer_is_not_eof(lexer)) {
- if (lexer_current_char(lexer) == '(') {
- lexer_define_literal_token_props(lexer, token, TOKEN_OPAREN);
- lexer_drop_char(lexer);
- return;
- }
+ if (lexer_current_char(lexer) == '(') {
+ lexer_define_literal_token_props(lexer, token, TOKEN_OPAREN);
+ lexer_drop_char(lexer);
+ return;
+ }
- if (lexer_current_char(lexer) == ')') {
- lexer_define_literal_token_props(lexer, token, TOKEN_CPAREN);
- lexer_drop_char(lexer);
- return;
- }
+ if (lexer_current_char(lexer) == ')') {
+ lexer_define_literal_token_props(lexer, token, TOKEN_CPAREN);
+ lexer_drop_char(lexer);
+ return;
+ }
- if (lexer_current_char(lexer) == ':') {
- lexer_define_literal_token_props(lexer, token, TOKEN_COLON);
- lexer_drop_char(lexer);
- return;
- }
+ if (lexer_current_char(lexer) == ':') {
+ lexer_define_literal_token_props(lexer, token, TOKEN_COLON);
+ lexer_drop_char(lexer);
+ return;
+ }
- if (lexer_current_char(lexer) == ';') {
- lexer_define_literal_token_props(lexer, token, TOKEN_SEMICOLON);
- lexer_drop_char(lexer);
- return;
- }
+ if (lexer_current_char(lexer) == ';') {
+ lexer_define_literal_token_props(lexer, token, TOKEN_SEMICOLON);
+ lexer_drop_char(lexer);
+ return;
+ }
- if (lexer_current_char(lexer) == '{') {
- lexer_define_literal_token_props(lexer, token, TOKEN_OCURLY);
- lexer_drop_char(lexer);
- return;
- }
+ if (lexer_current_char(lexer) == '{') {
+ lexer_define_literal_token_props(lexer, token, TOKEN_OCURLY);
+ lexer_drop_char(lexer);
+ return;
+ }
- if (lexer_current_char(lexer) == '}') {
- lexer_define_literal_token_props(lexer, token, TOKEN_CCURLY);
- lexer_drop_char(lexer);
- return;
- }
+ if (lexer_current_char(lexer) == '}') {
+ lexer_define_literal_token_props(lexer, token, TOKEN_CCURLY);
+ lexer_drop_char(lexer);
+ return;
+ }
- if (lexer_current_char(lexer) == '+') {
- lexer_define_literal_token_props(lexer, token, TOKEN_PLUS);
- lexer_drop_char(lexer);
- return;
- }
+ if (lexer_current_char(lexer) == '+') {
+ lexer_define_literal_token_props(lexer, token, TOKEN_PLUS);
+ lexer_drop_char(lexer);
+ return;
+ }
- if (lexer_current_char(lexer) == '-') {
- lexer_define_literal_token_props(lexer, token, TOKEN_MINUS);
- lexer_drop_char(lexer);
- return;
- }
+ if (lexer_current_char(lexer) == '-') {
+ lexer_define_literal_token_props(lexer, token, TOKEN_MINUS);
+ lexer_drop_char(lexer);
+ return;
+ }
- if (lexer_current_char(lexer) == '*') {
- lexer_define_literal_token_props(lexer, token, TOKEN_STAR);
- lexer_drop_char(lexer);
- return;
- }
+ if (lexer_current_char(lexer) == '*') {
+ lexer_define_literal_token_props(lexer, token, TOKEN_STAR);
+ lexer_drop_char(lexer);
+ return;
+ }
- if (lexer_current_char(lexer) == '/') {
- lexer_define_literal_token_props(lexer, token, TOKEN_SLASH);
- lexer_drop_char(lexer);
- return;
- }
+ if (lexer_current_char(lexer) == '/') {
+ lexer_define_literal_token_props(lexer, token, TOKEN_SLASH);
+ lexer_drop_char(lexer);
+ return;
+ }
- if (lexer_current_char(lexer) == '=') {
- lexer_define_literal_token_props(lexer, token, TOKEN_EQUAL);
- lexer_drop_char(lexer);
- return;
- }
+ if (lexer_current_char(lexer) == '=') {
+ lexer_define_literal_token_props(lexer, token, TOKEN_EQUAL);
+ lexer_drop_char(lexer);
+ return;
}
lexer_define_literal_token_props(lexer, token, TOKEN_UNKNOWN);