diff options
author | Camil Staps | 2016-08-26 12:21:10 +0200 |
---|---|---|
committer | Camil Staps | 2016-08-26 12:21:10 +0200 |
commit | f899f1b9d4ccd792dfc92c840e7e3d355cf858fe (patch) | |
tree | 8e09c474fc775112f04fad3bd91f7d409c9ae32f /interpreter/fuspelc.c | |
parent | Added code construct to grammar (diff) |
Added eval_main
Diffstat (limited to 'interpreter/fuspelc.c')
-rw-r--r-- | interpreter/fuspelc.c | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/interpreter/fuspelc.c b/interpreter/fuspelc.c index 4450486..c885e06 100644 --- a/interpreter/fuspelc.c +++ b/interpreter/fuspelc.c @@ -10,7 +10,7 @@ int main(void) { token_list* tokens; fuspel* pgm; - expression to_eval, *evaled; + expression* result; tokens = NULL; @@ -32,7 +32,7 @@ int main(void) { pgm = parse(tokens); free_token_list(tokens); - free(tokens); + my_free(tokens); if (!pgm) { fprintf(stderr, "Couldn't parse program."); @@ -43,22 +43,17 @@ int main(void) { print_fuspel(pgm); printf("\n\n"); - to_eval.kind = EXPR_NAME; - to_eval.var1 = my_calloc(1, 5); - strcpy(to_eval.var1, "main"); - - evaled = eval(pgm, &to_eval); - free_expression(&to_eval); - if (evaled) { - print_expression(evaled); + result = eval_main(pgm); + if (result) { + print_expression(result); printf("\n"); - free_expression(evaled); - free(evaled); + free_expression(result); + my_free(result); } free_fuspel(pgm); - free(pgm); + my_free(pgm); return 0; } |