32 lines
606 B
C
32 lines
606 B
C
|
|
#ifndef CLPARSER_H_QWERTY
|
|
#define CLPARSER_H_QWERTY
|
|
|
|
#include <stdbool.h>
|
|
#include <cllexer.h>
|
|
|
|
typedef struct {
|
|
int type;
|
|
char* key;
|
|
void* ref;
|
|
} clbind_t;
|
|
|
|
|
|
typedef struct {
|
|
cllexer_t* lexer;
|
|
clbind_t* bindarr;
|
|
int bindcapa;
|
|
int bindsize;
|
|
} clparser_t;
|
|
|
|
#define CLVALTYPE_INT 1
|
|
#define CLVALTYPE_STR 2
|
|
#define CLVALTYPE_BOOL 3
|
|
|
|
void clparser_init(clparser_t* parser, cllexer_t* lexer);
|
|
void clparser_bind(clparser_t* parser, int type, char* key, void* ref);
|
|
int clparser_parse(clparser_t* parser, char** argv, int argc);
|
|
void clparser_destroy(clparser_t * parser);
|
|
|
|
#endif
|