Files
scc/ccompiler/frontend/parser/parser.c
2025-04-01 00:13:21 +08:00

21 lines
549 B
C

#include <lib/core.h>
#include "parser.h"
#include "type.h"
void init_parser(parser_t* parser, cc_lexer_t* lexer, symtab_t* symtab) {
init_lib_core();
parser->cur_node = NULL;
parser->root = NULL;
parser->lexer = lexer;
parser->symtab = symtab;
init_tokbuf(&parser->tokbuf, lexer, (tok_stream_get_func)get_valid_token);
parser->tokbuf.cap = sizeof(parser->TokenBuffer) / sizeof(parser->TokenBuffer[0]);
parser->tokbuf.buf = parser->TokenBuffer;
}
void run_parser(parser_t* parser) {
parse_prog(parser);
}