diff options
author | Carlos Maniero <carlosmaniero@gmail.com> | 2023-04-26 01:57:41 -0300 |
---|---|---|
committer | Johnny Richard <johnny@johnnyrichard.com> | 2023-04-26 09:11:43 +0200 |
commit | dddec15f6ac62311b4980f0de9e6893da00481ae (patch) | |
tree | 21533002fb7aef8b400ffdda562f5d5c768b8c53 /src | |
parent | b8e76aa1e888a4602d4220206bbea8d04882fae2 (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>
Diffstat (limited to 'src')
-rw-r--r-- | src/lexer.c | 114 |
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); |