diff --git a/src/std/parser.c b/src/std/parser.c index 48088cb..0beb20a 100644 --- a/src/std/parser.c +++ b/src/std/parser.c @@ -48,13 +48,6 @@ void ARC_Parser_Create(ARC_Parser **parser, ARC_Array *language, ARC_Parser_Init currentTag->tokensOrTags[orIndex][tokenOrTagIndex] = languageTag->tokensOrTags[orIndex][tokenOrTagIndex]; } } - - //add the add function - currentTag->addDataFn = NULL; - if(languageTag->addDataFn != NULL){ - currentTag->addDataFn = (ARC_ParserTag_AddDataFn *)malloc(sizeof(ARC_ParserTag_AddDataFn)); - *(currentTag->addDataFn) = *(languageTag->addDataFn); - } } } @@ -113,10 +106,6 @@ void ARC_Parser_Destroy(ARC_Parser *parser){ free(currentTag->tokensOrTags[orIndex]); } - if(currentTag->addDataFn != NULL){ - free(currentTag->addDataFn); - } - //free the tokens or tags free(currentTag->tokensOrTags); } diff --git a/src/std/parser/parserlang.c b/src/std/parser/parserlang.c index b786c82..7cc83c1 100644 --- a/src/std/parser/parserlang.c +++ b/src/std/parser/parserlang.c @@ -86,10 +86,6 @@ void ARC_ParserLang_VectorDestroyParserTagFn(void *data){ free(currentTag->tokensOrTags[orIndex]); } - if(currentTag->addDataFn != NULL){ - free(currentTag->addDataFn); - } - //free the tokens or tags free(currentTag->tokensOrTags); @@ -194,19 +190,19 @@ void ARC_Parser_CreateAsParserLang(ARC_Parser **parser){ uint32_t *alphaChar[] = { (uint32_t[]){ 1, ARC_PARSERLANG_TOKEN_ALPHA_LOWER_CHAR }, (uint32_t[]){ 1, ARC_PARSERLANG_TOKEN_ALPHA_UPPER_CHAR }}; ARC_ParserTag parserLangTags[13] = { - { ARC_PARSERLANG_LINE , line , 4, NULL, NULL }, - { ARC_PARSERLANG_BODY , body , 1, NULL, NULL }, - { ARC_PARSERLANG_ARGUMENTS , arguments , 2, NULL, NULL }, - { ARC_PARSERLANG_ARGUMENT , argument , 2, NULL, NULL }, - { ARC_PARSERLANG_TAG_OR_CONSTANT, tagOrConstant, 2, NULL, NULL }, - { ARC_PARSERLANG_CONSTANT , constant , 1, NULL, NULL }, - { ARC_PARSERLANG_CONSTANT_BODY , constantBody , 2, NULL, NULL }, - { ARC_PARSERLANG_CONSTANT_CHAR , constantChar , 2, NULL, NULL }, - { ARC_PARSERLANG_TAG , tag , 1, NULL, NULL }, - { ARC_PARSERLANG_VARIABLE , variable , 2, NULL, NULL }, - { ARC_PARSERLANG_VARIABLE_BODY , variableBody , 2, NULL, NULL }, - { ARC_PARSERLANG_VARIABLE_CHAR , variableChar , 3, NULL, NULL }, - { ARC_PARSERLANG_ALPHA_CHAR , alphaChar , 2, NULL, NULL } + { ARC_PARSERLANG_LINE , line , 4 }, + { ARC_PARSERLANG_BODY , body , 1 }, + { ARC_PARSERLANG_ARGUMENTS , arguments , 2 }, + { ARC_PARSERLANG_ARGUMENT , argument , 2 }, + { ARC_PARSERLANG_TAG_OR_CONSTANT, tagOrConstant, 2 }, + { ARC_PARSERLANG_CONSTANT , constant , 1 }, + { ARC_PARSERLANG_CONSTANT_BODY , constantBody , 2 }, + { ARC_PARSERLANG_CONSTANT_CHAR , constantChar , 2 }, + { ARC_PARSERLANG_TAG , tag , 1 }, + { ARC_PARSERLANG_VARIABLE , variable , 2 }, + { ARC_PARSERLANG_VARIABLE_BODY , variableBody , 2 }, + { ARC_PARSERLANG_VARIABLE_CHAR , variableChar , 3 }, + { ARC_PARSERLANG_ALPHA_CHAR , alphaChar , 2 } }; ARC_Array parserLanguageArray = { diff --git a/tests/std/parser.c b/tests/std/parser.c index 35a1631..474bd53 100644 --- a/tests/std/parser.c +++ b/tests/std/parser.c @@ -58,23 +58,17 @@ ARC_ParserTag testTags[3] = { { VARIABLE, //tagId variableTokensOrTags, //tokensOrTags - 1, //tokenOrTagsSize - &addFirstCharFn, //addDataFn - NULL //addUserData + 1 //tokenOrTagsSize }, { VARIABLE_NAME, //tagId variableNameTags, //tokensOrTags - 2, //tokenOrTagsSize - NULL, //addDataFn - NULL //addUserData + 2 //tokenOrTagsSize }, { CHAR_OR_NUM, //tagId charOrNumTokens, //tokensOrTags - 2, //tokenOrTagsSize - &addCharFn, //addDataFn - NULL //addUserData + 2 //tokenOrTagsSize } };