diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ast.c | 2 | ||||
-rw-r--r-- | src/driver.c | 2 |
2 files changed, 3 insertions, 1 deletions
@@ -246,4 +246,4 @@ void imp_ast_list_destroy(IMP_ASTNodeList *list) { imp_ast_destroy(list->node); imp_ast_list_destroy(list->next); free(list); -}
\ No newline at end of file +} diff --git a/src/driver.c b/src/driver.c index c43b899..d8cd143 100644 --- a/src/driver.c +++ b/src/driver.c @@ -20,6 +20,7 @@ int imp_driver_interpret_file (IMP_InterpreterContext *context, const char *path yyin = fopen(path, "r"); if (!yyin) return -1; yyrestart(yyin); + ast_root = NULL; if (yyparse()) { imp_ast_destroy(ast_root); fclose(yyin); @@ -37,6 +38,7 @@ int imp_driver_interpret_file (IMP_InterpreterContext *context, const char *path int imp_driver_interpret_str (IMP_InterpreterContext *context, const char *str) { YY_BUFFER_STATE buf = yy_scan_string(str); + ast_root = NULL; if (yyparse()) { imp_ast_destroy(ast_root); yy_delete_buffer(buf); |