roza/lib/parser.h

24 lines
522 B
C
Raw Normal View History

2023-12-09 17:24:41 +00:00
#ifndef RZ_PARSER_H
#define RZ_PARSER_H
#include "commons.h"
#include "err.h"
#include "lexer.h"
typedef struct {
lexer_t* lexer;
err_t* err;
} parser_t;
void parser_init(parser_t* parser, lexer_t* lexer, err_t* err);
void parser_free(parser_t* parser);
node_t* parser_try_new_tree(parser_t* parser);
node_t* parser_try_new_mod(parser_t* parser);
node_t* parser_try_new_expr(parser_t* parser);
node_t* parser_try_new_num(parser_t* parser);
node_t* parser_try_new_consume(parser_t* parser, NodeType type);
#endif