Rename lexer string functions

This commit is contained in:
Abdelrahman Said 2023-06-18 22:08:47 +01:00
parent 57fe5ab1b7
commit f0043a691c
2 changed files with 16 additions and 15 deletions

View File

@ -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 {

View File

@ -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;