diff options
author | c+1 | 2023-10-05 11:02:22 -0400 |
---|---|---|
committer | c+1 | 2023-10-05 11:02:22 -0400 |
commit | 668e0fb0f4fc4bdd990d9ab349da445960d5764e (patch) | |
tree | a6411de1b7806d6cb91d84158cd7bc513dee235b /src/main.c | |
parent | 4d9dd289951589ddf408fdec62245b20cfe199c7 (diff) |
redesign the lexer, some mem leaks :(
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 37 |
1 files changed, 19 insertions, 18 deletions
@@ -9,40 +9,41 @@ #include "include/hlkt.h" int main(int argc, char* argv[]) { - char* source; - - lexer_t* lexer; + char* src; /* the source "code" */ pp_t* pp; + lexer_t* lexer; - source = source_get(argv[1]); - HLKT_ASS(source); + /* get source */ + src = source_get(argv[1]); + HLKT_ASS(src); log_inf("source gotten"); - log_inf("source: %s", source); - pp = pp_init(source); + /* create pre-processor */ + pp = pp_init(src); HLKT_ASS(pp); log_inf("preprocessor created"); + /* pre-process source */ pp_run(pp); - free(source); - source = pp->psrc; - pp_destroy(pp); - HLKT_ASS(source); + free(src); + src = pp->psrc; + HLKT_ASS(src); log_inf("preprocessor ran"); - log_inf("preprocessed source: %s", source); - /* - lexer = lexer_init(source); + /* create lexer */ + lexer = lexer_init(src); HLKT_ASS(lexer); log_inf("lexer created"); + /* run lexer */ lexer_run(lexer); + log_inf("lexer ran"); + /* clean up */ + pp_destroy(pp); lexer_destroy(lexer); - */ - free(source); - /*free(pp->psrc);*/ - + token_destroy(lexer->tokenl); + free(src); HLKT_LOG(); |