#ifndef __PARSER_H__ #define __PARSER_H__ #include "../lexer/lexer.h" #include #include "ast.h" #define PARSER_MAX_TOKEN_QUEUE 16 typedef struct parser { ast_node_t* root; ast_node_t* cur_node; cc_lexer_t* lexer; symtab_t* symtab; tok_stream_t tokbuf; tok_t TokenBuffer[PARSER_MAX_TOKEN_QUEUE]; int err_level; } parser_t; void init_parser(parser_t* parser, cc_lexer_t* lexer, symtab_t* symtab); void run_parser(parser_t* parser); #endif