smcc/ccompiler/frontend/frontend.c
2025-03-05 15:45:19 +08:00

19 lines
440 B
C

#include "lexer/lexer.h"
#include "parser/symtab/symtab.h"
#include "frontend.h"
struct ASTNode* frontend(const char* file, void* stream, sread_fn sread) {
struct Lexer lexer;
init_lexer(&lexer, file, stream, sread);
struct SymbolTable symtab;
init_symtab(&symtab);
struct Parser parser;
init_parser(&parser, &lexer, &symtab);
parse_prog(&parser);
// TODO Free the resourse
return parser.root;
}