bout halfway complete with parserlang, also added userdata to parser
This commit is contained in:
parent
7cfea02681
commit
16821e8411
6 changed files with 190 additions and 44 deletions
|
|
@ -54,7 +54,7 @@ typedef void (* ARC_ParserData_CreateFn)(void **data, ARC_ParserTagToken *parsed
|
|||
/**
|
||||
* @brief TODO: write this
|
||||
*/
|
||||
typedef void (* ARC_ParserData_DestroyFn)(void *data);
|
||||
typedef void (* ARC_ParserData_DestroyFn)(void *data, void *userData);
|
||||
|
||||
/**
|
||||
* @brief creates an ARC_Parser type
|
||||
|
|
@ -76,7 +76,7 @@ typedef void (* ARC_ParserData_DestroyFn)(void *data);
|
|||
* @param[in] language an arry of ARC_ParserLanguageTags defining a langauge
|
||||
* @param[in] initLexerRulesFn a callback used to initalize the token rules the lexer within the parser will use
|
||||
*/
|
||||
void ARC_Parser_Create(ARC_Parser **parser, ARC_Array *language, ARC_Parser_InitLexerRulesFn initLexerRulesFn, ARC_ParserData_CreateFn *createDataFn, void *createUserData, ARC_ParserData_DestroyFn *destroyDataFn);
|
||||
void ARC_Parser_Create(ARC_Parser **parser, ARC_Array *language, ARC_Parser_InitLexerRulesFn initLexerRulesFn, ARC_ParserData_CreateFn *createDataFn, ARC_ParserData_DestroyFn *destroyDataFn, void *userData);
|
||||
|
||||
/**
|
||||
* @brief creates an ARC_Parser type from an arc vector
|
||||
|
|
@ -85,7 +85,7 @@ void ARC_Parser_Create(ARC_Parser **parser, ARC_Array *language, ARC_Parser_Init
|
|||
* @param[in] language an vector of ARC_ParserLanguageTags defining a langauge
|
||||
* @param[in] initLexerRulesFn a callback used to initalize the token rules the lexer within the parser will use
|
||||
*/
|
||||
void ARC_Parser_CreateFromVector(ARC_Parser **parser, ARC_Vector *language, ARC_Parser_InitLexerRulesFn initLexerRulesFn, ARC_ParserData_CreateFn *createDataFn, void *createUserData, ARC_ParserData_DestroyFn *destroyDataFn);
|
||||
void ARC_Parser_CreateFromVector(ARC_Parser **parser, ARC_Vector *language, ARC_Parser_InitLexerRulesFn initLexerRulesFn, ARC_ParserData_CreateFn *createDataFn, ARC_ParserData_DestroyFn *destroyDataFn, void *userData);
|
||||
|
||||
/**
|
||||
* @brief creates an ARC_Parser type from a string
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue