31 lines
573 B
C
31 lines
573 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 CLTYPE_INT 1
|
|
#define CLTYPE_STR 2
|
|
|
|
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
|