31 lines
581 B
C
31 lines
581 B
C
|
|
#ifndef CFPARSER_H_QWERTY
|
|
#define CFPARSER_H_QWERTY
|
|
|
|
#include <stdbool.h>
|
|
#include <cflexer.h>
|
|
|
|
typedef struct {
|
|
char* key;
|
|
char* val;
|
|
} cfkval_t;
|
|
|
|
|
|
typedef struct {
|
|
cflexer_t* lexer;
|
|
cfkval_t* kvalarr;
|
|
int kvalcapa;
|
|
int kvalsize;
|
|
} cfparser_t;
|
|
|
|
#define CFVALTYPE_STR 1
|
|
#define CFVALTYPE_INT 2
|
|
#define CFVALTYPE_BOOL 3
|
|
|
|
void cfparser_init(cfparser_t* parser, cflexer_t* lexer);
|
|
int cfparser_parse(cfparser_t* parser);
|
|
int cfparser_bind(cfparser_t* parser, int type, char* key, void* ref);
|
|
void cfparser_destroy(cfparser_t * parser);
|
|
|
|
#endif
|