1#ifndef ARC_STD_PARSER_PARSERLANG_H_
2#define ARC_STD_PARSER_PARSERLANG_H_
63#define ARC_PARSER_CSV_CHAR_COMMA 1
64#define ARC_PARSER_CSV_CHAR_NEWLINE 2
65#define ARC_PARSER_CSV_CHAR_BEFORE_COMMA 3
66#define ARC_PARSER_CSV_CHAR_AFTER_COMMA 4
67#define ARC_PARSER_CSV_LINE 5
68#define ARC_PARSER_CSV_DATA 6
69#define ARC_PARSER_CSV_STRING 7
70#define ARC_PARSER_CSV_NON_COMMA_CHAR 8
struct ARC_ParserCSVData ARC_ParserCSVData
defines a csv data type, data is set by the callback passed in when createing a parserCSV as parser
void(* ARC_ParserCSV_CastTypeFn)(void **data, ARC_String *string)
a callback for the csv parser to use to cast that data the stored data
void(* ARC_ParserCSV_DestroyTypeFn)(void *data)
a callback for the csv parser to use to free csv data
void ARC_ParserCSV_CreateAsParser(ARC_Parser **parser, ARC_Bool header, ARC_ParserCSV_CastTypeFn castTypeFn, ARC_ParserCSV_DestroyTypeFn destroyTypeFn)
creates a parser for the Parser Lang
struct ARC_Parser ARC_Parser
a parser type
defines a csv data type, data is set by the callback passed in when createing a parserCSV as parser
substring position within a string