|
Archeus 0.0.0
A C library and game engine that focuses on documentation
|
#include "arc/std/parser/csv.h"#include "arc/std/parser/helpers.h"#include "arc/std/bool.h"#include "arc/std/parser.h"#include <stddef.h>#include <stdint.h>#include <stdlib.h>Go to the source code of this file.
Data Structures | |
| struct | ARC_ParserCSVUserData |
Typedefs | |
| typedef struct ARC_ParserCSVUserData | ARC_ParserCSVUserData |
Functions | |
| void | ARC_ParserCSV_InitLexerRulesFn (ARC_Lexer *lexer) |
| uint32_t | ARC_ParserCSV_GetStringIdFn (ARC_String *string) |
| void | ARC_ParserCSVData_VectorDestroyVectorFn (void *data) |
| void | ARC_ParserCSVData_GetDataTag (ARC_Vector *dataVector, ARC_ParserTagToken *tagToken, ARC_ParserCSVUserData *userData) |
| void | ARC_ParserCSVData_RunLineTag (ARC_Vector *dataVector, ARC_ParserTagToken *tagToken, ARC_ParserCSVUserData *userData) |
| void | ARC_ParserCSVData_CreateFn (void **data, ARC_ParserTagToken *parsedData, void *userData) |
| void | ARC_ParserCSVData_DestroyFn (void *data, ARC_Bool clear, void *userData) |
| 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 | |
| typedef struct ARC_ParserCSVUserData ARC_ParserCSVUserData |
| 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
| [out] | parser | the parser to create |
Definition at line 302 of file csv.c.
References ARC_Parser_CreateFromString(), ARC_ParserCSV_GetStringIdFn(), ARC_ParserCSV_InitLexerRulesFn(), ARC_ParserCSVData_CreateFn(), ARC_ParserCSVData_DestroyFn(), ARC_String_CreateWithStrlen(), ARC_String_Destroy(), ARC_ParserCSVUserData::castTypeFn, ARC_ParserCSVUserData::destroyTypeFn, and ARC_ParserCSVUserData::header.
| uint32_t ARC_ParserCSV_GetStringIdFn | ( | ARC_String * | string | ) |
Definition at line 24 of file csv.c.
References ARC_PARSER_CSV_CHAR_AFTER_COMMA, ARC_PARSER_CSV_CHAR_BEFORE_COMMA, ARC_PARSER_CSV_CHAR_COMMA, ARC_PARSER_CSV_CHAR_NEWLINE, ARC_PARSER_CSV_DATA, ARC_PARSER_CSV_LINE, ARC_PARSER_CSV_NON_COMMA_CHAR, ARC_PARSER_CSV_STRING, ARC_PARSER_TAG_LAMBDA, and ARC_String_EqualsCStringWithStrlen().
Referenced by ARC_ParserCSV_CreateAsParser().
| void ARC_ParserCSV_InitLexerRulesFn | ( | ARC_Lexer * | lexer | ) |
Definition at line 15 of file csv.c.
References ARC_Lexer_RegisterTokenRule(), ARC_LexerTokenRule_CreateAndReturnMatchCharOrBetween(), ARC_LexerTokenRule_CreateAndReturnMatchCharRule(), ARC_PARSER_CSV_CHAR_AFTER_COMMA, ARC_PARSER_CSV_CHAR_BEFORE_COMMA, ARC_PARSER_CSV_CHAR_COMMA, and ARC_PARSER_CSV_CHAR_NEWLINE.
Referenced by ARC_ParserCSV_CreateAsParser().
| void ARC_ParserCSVData_CreateFn | ( | void ** | data, |
| ARC_ParserTagToken * | parsedData, | ||
| void * | userData ) |
Definition at line 157 of file csv.c.
References ARC_ParserCSVData_RunLineTag(), ARC_ParserCSVData_VectorDestroyVectorFn(), ARC_True, ARC_Vector_Add(), ARC_Vector_Create(), ARC_Vector_Destroy(), ARC_Vector_Get(), ARC_Vector_GetSize(), ARC_ParserCSVData::data, ARC_ParserCSVData::hasHeader, ARC_ParserCSVUserData::header, ARC_ParserCSVData::headers, ARC_ParserCSVData::height, and ARC_ParserCSVData::width.
Referenced by ARC_ParserCSV_CreateAsParser().
| void ARC_ParserCSVData_DestroyFn | ( | void * | data, |
| ARC_Bool | clear, | ||
| void * | userData ) |
Definition at line 263 of file csv.c.
References ARC_False, ARC_String_Destroy(), ARC_True, ARC_ParserCSVData::data, ARC_ParserCSVUserData::destroyTypeFn, ARC_ParserCSVData::hasHeader, ARC_ParserCSVData::headers, ARC_ParserCSVData::height, and ARC_ParserCSVData::width.
Referenced by ARC_ParserCSV_CreateAsParser().
| void ARC_ParserCSVData_GetDataTag | ( | ARC_Vector * | dataVector, |
| ARC_ParserTagToken * | tagToken, | ||
| ARC_ParserCSVUserData * | userData ) |
Definition at line 69 of file csv.c.
References ARC_False, ARC_PARSER_CSV_DATA, ARC_PARSER_CSV_STRING, ARC_ParserCSVData_GetDataTag(), ARC_ParserData_HelperRecurseStringAdd(), ARC_String_Create(), ARC_String_Destroy(), ARC_Vector_Add(), ARC_Vector_Get(), ARC_Vector_GetSize(), ARC_ParserCSVUserData::castTypeFn, ARC_ParserCSVUserData::header, ARC_ParserTagToken::id, and ARC_ParserTagToken::tagTokens.
Referenced by ARC_ParserCSVData_GetDataTag(), and ARC_ParserCSVData_RunLineTag().
| void ARC_ParserCSVData_RunLineTag | ( | ARC_Vector * | dataVector, |
| ARC_ParserTagToken * | tagToken, | ||
| ARC_ParserCSVUserData * | userData ) |
Definition at line 118 of file csv.c.
References ARC_PARSER_CSV_CHAR_NEWLINE, ARC_PARSER_CSV_DATA, ARC_PARSER_CSV_LINE, ARC_ParserCSVData_GetDataTag(), ARC_ParserCSVData_RunLineTag(), ARC_Vector_Add(), ARC_Vector_Create(), ARC_Vector_Get(), ARC_Vector_GetSize(), ARC_ParserTagToken::id, and ARC_ParserTagToken::tagTokens.
Referenced by ARC_ParserCSVData_CreateFn(), and ARC_ParserCSVData_RunLineTag().
| void ARC_ParserCSVData_VectorDestroyVectorFn | ( | void * | data | ) |
Definition at line 64 of file csv.c.
References ARC_Vector_Destroy().
Referenced by ARC_ParserCSVData_CreateFn().