diff options
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); |