bout halfway complete with parserlang, also added userdata to parser

This commit is contained in:
herbglitch 2024-12-02 02:34:01 -07:00
parent 7cfea02681
commit 16821e8411
6 changed files with 190 additions and 44 deletions

View file

@ -35,7 +35,7 @@ void TEST_ParserData_CreateStringFn(void **data, ARC_ParserTagToken *parsedData,
TEST_ParserData_RecurseStringAdd((ARC_String **)data, parsedData);
}
void TEST_ParserData_DestroyStringFn(void *data){
void TEST_ParserData_DestroyStringFn(void *data, void *userData){
ARC_String_Destroy((ARC_String *)data);
}
@ -178,7 +178,7 @@ ARC_TEST(Parser_Basic_ParseError){
ARC_TEST(Parser_Basic_GetParsedValue){
ARC_Parser *parser;
ARC_Parser_Create(&parser, &languageArray, TEST_Parser_InitLexerRulesFn, &createStringFn, NULL, &destroyStringFn);
ARC_Parser_Create(&parser, &languageArray, TEST_Parser_InitLexerRulesFn, &createStringFn, &destroyStringFn, NULL);
ARC_String *tempString;
@ -199,9 +199,14 @@ ARC_TEST(Parser_Basic_GetParsedValue){
ARC_Parser_Destroy(parser);
}
/* ~ parserlang tests ~ */
uint32_t TEST_ParserLang_GetIdFn(ARC_String *constant){
return 0;
}
ARC_TEST(Parser_ParserLang_BasicTest){
ARC_Parser *parser;
ARC_Parser_CreateAsParserLang(&parser);
ARC_Parser_CreateAsParserLang(&parser, TEST_ParserLang_GetIdFn);
ARC_String *tempString;
ARC_String_CreateWithStrlen(&tempString, "<test> -> <testingStuffs>\n");