added userdata void * for parser tag function callback
This commit is contained in:
parent
606f8e4bad
commit
fcc07493d3
4 changed files with 25 additions and 21 deletions
|
|
@ -205,7 +205,7 @@ ARC_Bool ARC_Parser_ParseTag(ARC_Parser *parser, uint32_t *lexerIndex, uint32_t
|
|||
//iterate through the tokens with the add callback
|
||||
for(uint32_t index = 0; index < ARC_Vector_GetSize(foundTokens); index++){
|
||||
ARC_LexerToken *token = (ARC_LexerToken *)ARC_Vector_Get(foundTokens, index);
|
||||
(*(tag->addDataFn))(&(parser->data), tagId, token);
|
||||
(*(tag->addDataFn))(&(parser->data), tagId, token, tag->addUserData);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -76,19 +76,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_ParserLanguageTag parserLangTags[13] = {
|
||||
{ ARC_PARSERLANG_LINE , line , 4, NULL },
|
||||
{ ARC_PARSERLANG_BODY , body , 1, NULL },
|
||||
{ ARC_PARSERLANG_ARGUMENTS , arguments , 2, NULL },
|
||||
{ ARC_PARSERLANG_ARGUMENT , argument , 2, NULL },
|
||||
{ ARC_PARSERLANG_TAG_OR_CONSTANT, tagOrConstant, 2, NULL },
|
||||
{ ARC_PARSERLANG_CONSTANT , constant , 1, NULL },
|
||||
{ ARC_PARSERLANG_CONSTANT_BODY , constantBody , 2, NULL },
|
||||
{ ARC_PARSERLANG_CONSTANT_CHAR , constantChar , 2, NULL },
|
||||
{ ARC_PARSERLANG_TAG , tag , 1, NULL },
|
||||
{ ARC_PARSERLANG_VARIABLE , variable , 2, NULL },
|
||||
{ ARC_PARSERLANG_VARIABLE_BODY , variableBody , 2, NULL },
|
||||
{ ARC_PARSERLANG_VARIABLE_CHAR , variableChar , 3, NULL },
|
||||
{ ARC_PARSERLANG_ALPHA_CHAR , alphaChar , 2, NULL }
|
||||
{ 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_Array parserLanguageArray = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue