smcc/ccompiler/frontend/frontend.c

19 lines
421 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) {
lexer_t lexer;
init_lexer(&lexer, file, stream, sread);
symtab_t symtab;
init_symtab(&symtab);
parser_t parser;
init_parser(&parser, &lexer, &symtab);
parse_prog(&parser);
// TODO Free the resourse
return parser.root;
}