Commit Graph

36 Commits

Author SHA1 Message Date
135a6da54c Ensure negative numbers are handled properly 2023-07-01 15:12:21 +01:00
e818135aef Move the logic for loading a json file into the load_json function 2023-07-01 15:05:53 +01:00
10597c0ed7 Remove validate_json 2023-07-01 15:05:41 +01:00
ff110ea6e2 Move the json entities specific functions to json_entities 2023-07-01 15:04:59 +01:00
99f5c5bfe5 Refactored parse_token function 2023-07-01 04:43:52 +01:00
7e4d82888a Updated print_token function 2023-07-01 04:43:29 +01:00
2a4d573118 Add print_json function to traverse json tree and print all elements 2023-07-01 04:42:40 +01:00
Abdelrahman Said
e2c4e56fcd Updated the parser implementation 2023-06-30 01:16:33 +01:00
96e9df0434 Parser test implementation 2023-06-28 23:36:52 +01:00
b6d4a1f218 Ensure the functions declared in lexer.c are static 2023-06-28 21:44:04 +01:00
740d9b6566 Combine TK_TRUE and TK_FALSE into TK_BOOL 2023-06-28 21:43:35 +01:00
Abdelrahman Said
6d08b38058 Start exploring the parser 2023-06-28 20:50:54 +01:00
1e510411dc get_next_token returns result which includes possible error and token 2023-06-27 22:23:16 +01:00
Abdelrahman Said
a6b45834fc Start working on json_entities 2023-06-26 18:32:53 +01:00
Abdelrahman Said
55ca87c425 Ensure token's line and column number are printed properly on macOS and
Linux
2023-06-26 07:32:42 +01:00
Abdelrahman Said
9963527db0 Ensure token's integer value is printed properly on macOS and Linux 2023-06-26 07:31:19 +01:00
3ded1d2708 Testing building json objects in C 2023-06-25 23:52:45 +01:00
84533ad643 Ensure lexer returns correct token for numerical values 2023-06-24 03:41:22 +01:00
7a326421b8 Add dstr_find function 2023-06-24 03:40:04 +01:00
fd525e26a6 Update print format specifier 2023-06-22 00:37:59 +01:00
Abdelrahman Said
efe07a3c60 Add the get_next_token function 2023-06-22 00:13:05 +01:00
2ef4e2f056 Cleanup 2023-06-20 23:38:46 +01:00
1b56aaa185 Started implementing the get_next_token function 2023-06-20 23:37:56 +01:00
e4d161d79d Plan work for get_next_token function 2023-06-20 21:56:59 +01:00
0d289df26f Fix bug in dstr_to_cstr 2023-06-20 21:56:33 +01:00
Abdelrahman Said
76620b593a Add dstr_resize and rename the dstring functions 2023-06-19 08:33:02 +01:00
31e19a50fc Save string and number values for tokenisation 2023-06-18 22:57:08 +01:00
f0043a691c Rename lexer string functions 2023-06-18 22:08:47 +01:00
57fe5ab1b7 Add dstr_t type 2023-06-18 21:40:36 +01:00
0095d8fe61 Rename lexer_states to lexer 2023-06-18 21:39:50 +01:00
909bcf3056 Add test files for unicode sequences 2023-06-18 00:23:40 +01:00
386dfe72db Added string type that works for both keywords and unicode sequences 2023-06-18 00:03:31 +01:00
ed9b5fb638 Add keyword support 2023-06-17 22:10:48 +01:00
b0e527ee76 Added handling numerical states 2023-06-17 18:44:30 +01:00
43630526dc Handle objects, arrays and strings 2023-06-17 15:27:16 +01:00
cad6b938b3 Started implementing the lexer 2023-06-17 00:45:00 +01:00