diff --git a/include/lexer/lexer.h b/include/lexer/lexer.h index 3f680d6..b9e2c74 100644 --- a/include/lexer/lexer.h +++ b/include/lexer/lexer.h @@ -17,9 +17,10 @@ typedef enum { TK_NULL, TK_TRUE, TK_FALSE, - TK_STRING_LITERAL, - TK_INTEGER_LITERAL, - TK_DOUBLE_LITERAL, + TK_STR_KEY, + TK_STR_VAL, + TK_INTEGER, + TK_DOUBLE, } token_type_t; typedef union { diff --git a/src/lexer/lexer.c b/src/lexer/lexer.c index 8791e79..6c9674a 100644 --- a/src/lexer/lexer.c +++ b/src/lexer/lexer.c @@ -90,8 +90,8 @@ struct lexer { void stack_push(state_stack_t *stack, lexer_state_t value); lexer_state_t stack_pop(state_stack_t *stack); -void append_to_string(lexer_string_t *str, char input); -void clear_string(lexer_string_t *str); +void append_to_lex_str(lexer_string_t *str, char input); +void clear_lex_str(lexer_string_t *str); bool strequal(const char *first, const char *second); bool is_valid_hex_char(const char input); bool ishex(const char input); @@ -165,7 +165,7 @@ lexer_state_t stack_pop(state_stack_t *stack) { return state; } -void append_to_string(lexer_string_t *lex_str, char input) { +void append_to_lex_str(lexer_string_t *lex_str, char input) { u64 capacity = 0; char *str = NULL; @@ -191,7 +191,7 @@ void append_to_string(lexer_string_t *lex_str, char input) { str[(lex_str->size)++] = input; } -void clear_string(lexer_string_t *lex_str) { +void clear_lex_str(lexer_string_t *lex_str) { u64 capacity = 1; char *str = NULL; @@ -423,7 +423,7 @@ lexer_state_t handle_value(lexer_t *lexer, char input) { case 't': case 'f': case 'n': - append_to_string(&(lexer->keyword), input); + append_to_lex_str(&(lexer->keyword), input); return handle_keyword(input); } @@ -486,14 +486,14 @@ lexer_state_t handle_escape_sequence(char input) { } lexer_state_t handle_unicode_sequence(lexer_t *lexer, char input) { - append_to_string(&(lexer->codepoint), input); + append_to_lex_str(&(lexer->codepoint), input); if (!ishex(input)) { - clear_string(&(lexer->codepoint)); + clear_lex_str(&(lexer->codepoint)); return LEXER_STATE_ERROR; } else if (lexer->codepoint.size == UNICODE_LENGTH) { - clear_string(&(lexer->codepoint)); + clear_lex_str(&(lexer->codepoint)); return LEXER_STATE_STRING; } @@ -603,7 +603,7 @@ lexer_state_t handle_true(lexer_t *lexer, char input) { char current[MAX_KEYWORD_LENGTH + 1]; strcpy(current, lexer->keyword.keyword.str); - append_to_string(&(lexer->keyword), input); + append_to_lex_str(&(lexer->keyword), input); bool return_state_true = (strequal(current, "t") && input == 'r') || (strequal(current, "tr") && input == 'u'); @@ -623,7 +623,7 @@ lexer_state_t handle_false(lexer_t *lexer, char input) { char current[MAX_KEYWORD_LENGTH + 1]; strcpy(current, lexer->keyword.keyword.str); - append_to_string(&(lexer->keyword), input); + append_to_lex_str(&(lexer->keyword), input); bool return_state_false = (strequal(current, "f") && input == 'a') || (strequal(current, "fa") && input == 'l') || @@ -644,7 +644,7 @@ lexer_state_t handle_null(lexer_t *lexer, char input) { char current[MAX_KEYWORD_LENGTH + 1]; strcpy(current, lexer->keyword.keyword.str); - append_to_string(&(lexer->keyword), input); + append_to_lex_str(&(lexer->keyword), input); bool return_state_null = (strequal(current, "n") && input == 'u') || (strequal(current, "nu") && input == 'l'); @@ -661,7 +661,7 @@ lexer_state_t handle_null(lexer_t *lexer, char input) { } lexer_state_t handle_keyword_end(lexer_t *lexer, char input) { - clear_string(&(lexer->keyword)); + clear_lex_str(&(lexer->keyword)); if (isspace(input)) { return LEXER_STATE_KEYWORD_END;