1#ifndef ARC_STD_PARSER_H_
2#define ARC_STD_PARSER_H_
150#define ARC_PARSER_TAG_LAMBDA 0
struct ARC_Vector ARC_Vector
a dynamic array type
struct ARC_Lexer ARC_Lexer
a lexer type
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)
creates an ARC_Parser type from a string
void ARC_Parser_ParseFile(ARC_Parser *parser, ARC_String *path)
void ARC_Parser_Create(ARC_Parser **parser, ARC_Array *language, ARC_Parser_InitLexerRulesFn initLexerRulesFn, ARC_ParserData_CreateFn *createDataFn, ARC_ParserData_DestroyFn *destroyDataFn, void *userData)
creates an ARC_Parser type
uint32_t(* ARC_Parser_GetStringIdFn)(ARC_String *string)
TODO: write this.
void(* ARC_Parser_InitLexerRulesFn)(ARC_Lexer *lexer)
a callback function to initialize the lexer the parser uses with rules
void(* ARC_ParserData_CreateFn)(void **data, ARC_ParserTagToken *parsedData, void *userData)
TODO: write this.
struct ARC_ParserTag ARC_ParserTag
a langue tag type for the parser //TODO: explain this better
void(* ARC_ParserData_DestroyFn)(void *data, ARC_Bool clear, void *userData)
TODO: write this.
void ARC_Parser_Parse(ARC_Parser *parser, ARC_String **data)
void ARC_Parser_CreateFromVector(ARC_Parser **parser, ARC_Vector *language, ARC_Parser_InitLexerRulesFn initLexerRulesFn, ARC_ParserData_CreateFn *createDataFn, ARC_ParserData_DestroyFn *destroyDataFn, void *userData)
creates an ARC_Parser type from an arc vector
void ARC_Parser_Destroy(ARC_Parser *parser)
destroys an ARC_Parser type
void ARC_Parser_ClearData(ARC_Parser *parser)
void * ARC_Parser_GetData(ARC_Parser *parser)
struct ARC_Parser ARC_Parser
a parser type
struct ARC_ParserTagToken ARC_ParserTagToken
a parser type used inside of the parser data create function
a type that holds an array of data and its size
a parser type used inside of the parser data create function
a langue tag type for the parser //TODO: explain this better
uint32_t tokensOrTagsSize
substring position within a string
creates and outlines a dynamic array type and its functions