#ifndef CLPARSER_H_QWERTY #define CLPARSER_H_QWERTY #include #include typedef struct { int type; char* key; union { char* str; int64_t num; bool flag; }; } jkval_t; typedef struct { jkval_t* kvalarr; int kvalcapa; int kvalsize; jlexer_t* lexer; } jparser_t; #define JVALTYPE_STR 1 #define JVALTYPE_NUM 2 #define JVALTYPE_BOOL 3 void jparser_init(jparser_t* parser, jlexer_t* lexer); int jparser_bind(jparser_t* parser, int type, char* key, void* ref); int jparser_parse(jparser_t* parser); void jparser_destroy(jparser_t * parser); #endif