Remove validate_json
This commit is contained in:
		| @@ -53,13 +53,12 @@ typedef struct { | ||||
|   token_t token; | ||||
| } lex_result_t; | ||||
|  | ||||
| typedef struct lexer lexer_t; | ||||
| typedef struct lexer_s lexer_t; | ||||
|  | ||||
| void lexer_init(lexer_t **lexer); | ||||
| void lexer_free(lexer_t **lexer); | ||||
| lex_result_t get_next_token(lexer_t *lexer, const char *text); | ||||
|  | ||||
| bool validate_json(char *json); | ||||
| void print_token(token_t token); | ||||
|  | ||||
| #endif // !LEXER_STATES_H | ||||
|   | ||||
| @@ -77,7 +77,7 @@ typedef struct { | ||||
|   }; | ||||
| } lexer_string_t; | ||||
|  | ||||
| struct lexer { | ||||
| struct lexer_s { | ||||
|   u64 cursor; | ||||
|   u64 line; | ||||
|   u64 column; | ||||
| @@ -246,39 +246,6 @@ lex_result_t get_next_token(lexer_t *lexer, const char *text) { | ||||
|   }; | ||||
| } | ||||
|  | ||||
| bool validate_json(char *json) { | ||||
|   lexer_t lexer = {0}; | ||||
|   lexer.line = 1; | ||||
|   lexer.column = 0; | ||||
|   lexer.current = LEXER_STATE_START; | ||||
|   lexer.keyword.type = LEXER_STRING_KEYWORD; | ||||
|   lexer.codepoint.type = LEXER_STRING_UNICODE; | ||||
|   lexer.current_string = dstr_with_capacity(STRING_BUF_START_CAPACITY); | ||||
|  | ||||
|   if (!lexer.current_string) { | ||||
|     // TODO (Abdelrahman): This is fine for now, but it doesn't make sense to | ||||
|     // return INVALID_JSON if string allocation fails | ||||
|     return INVALID_JSON; | ||||
|   } | ||||
|  | ||||
|   for (char *c = json; *c != '\0'; ++c) { | ||||
|     lexer_state_machine(&lexer, *c); | ||||
|  | ||||
|     // Track the position in the text | ||||
|     ++(lexer.column); | ||||
|     if (*c == '\n') { | ||||
|       ++(lexer.line); | ||||
|       lexer.column = 0; | ||||
|     } | ||||
|  | ||||
|     if (lexer.current == LEXER_STATE_ERROR) { | ||||
|       return INVALID_JSON; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   return lexer.current == LEXER_STATE_LAST_COLLECTION || lexer.stack.size == 0; | ||||
| } | ||||
|  | ||||
| void print_token(token_t token) { | ||||
|   i32 num_padding = 4; | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user