#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_assert(parser_t* parser); node_t* parser_try_new_eqne(parser_t* parser); node_t* parser_try_new_cmp(parser_t* parser); node_t* parser_try_new_builtin(parser_t* parser); node_t* parser_try_new_consume(parser_t* parser, NodeType type); #endif