Files
cworker/jparser.h
2023-08-18 22:38:43 +02:00

37 lines
640 B
C

#ifndef JPARSER_H_QWERTY
#define JPARSER_H_QWERTY
#include <stdbool.h>
#include <jlexer.h>
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