From f8cedce5299d12adc3ce3249fd5b3a9fe5578c0a Mon Sep 17 00:00:00 2001 From: Preston Pan Date: Tue, 3 Jan 2023 14:41:57 -0800 Subject: hypothetically fixed bug --- src/include/.ast.h.swp | Bin 12288 -> 0 bytes src/parser.c | 2 ++ src/visitor.c | 10 +++++++++- 3 files changed, 11 insertions(+), 1 deletion(-) delete mode 100644 src/include/.ast.h.swp diff --git a/src/include/.ast.h.swp b/src/include/.ast.h.swp deleted file mode 100644 index 355bb9f..0000000 Binary files a/src/include/.ast.h.swp and /dev/null differ diff --git a/src/parser.c b/src/parser.c index 92e9ccf..7f174a5 100644 --- a/src/parser.c +++ b/src/parser.c @@ -212,6 +212,8 @@ ast_t *parse_all(parser_t *parser) { int i = 0; while (t != NULL) { cur = parse_expr(parser); + if (cur == NULL) + continue; i++; asts = realloc(asts, i * sizeof(ast_t *)); asts[i - 1] = cur; diff --git a/src/visitor.c b/src/visitor.c index 6eb29a2..1e14c2e 100644 --- a/src/visitor.c +++ b/src/visitor.c @@ -64,6 +64,14 @@ ast_t *eval_expr(visitor_t *v, ast_t *e) { } } -ast_t *eval(visitor_t *v) {} +ast_t *eval(visitor_t *v) { + ast_t *cur; + ast_t *root; + ast_t **eval_nodes; + int j = 0; + for (int i = 0; i < v->root->root_size; i++) { + cur = eval_expr(v, v->root->subnodes[i]); + } +} void eval_error(visitor_t *v, ast_t *e) { exit(1); } -- cgit