fixed double free of vector and parserlang and creating a parser by string should work now
This commit is contained in:
parent
5a5eaabc14
commit
4c3d357cb9
12 changed files with 298 additions and 82 deletions
|
|
@ -46,6 +46,11 @@ typedef struct ARC_ParserTagToken {
|
|||
*/
|
||||
typedef void (* ARC_Parser_InitLexerRulesFn)(ARC_Lexer *lexer);
|
||||
|
||||
/**
|
||||
* @brief TODO: write this
|
||||
*/
|
||||
typedef uint32_t (* ARC_Parser_GetStringIdFn)(ARC_String *string);
|
||||
|
||||
/**
|
||||
* @brief TODO: write this
|
||||
*/
|
||||
|
|
@ -100,7 +105,7 @@ void ARC_Parser_CreateFromVector(ARC_Parser **parser, ARC_Vector *language, ARC_
|
|||
* @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_CreateFromString(ARC_Parser **parser, ARC_String *languageString, ARC_Parser_InitLexerRulesFn initLexerRulesFn);
|
||||
void ARC_Parser_CreateFromString(ARC_Parser **parser, ARC_String *languageString, ARC_Parser_InitLexerRulesFn initLexerRulesFn, ARC_Parser_GetStringIdFn getStringIdFn, ARC_ParserData_CreateFn *createDataFn, ARC_ParserData_DestroyFn *destroyDataFn, void *userData);
|
||||
|
||||
/**
|
||||
* @brief destroys an ARC_Parser type
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue