From 70c782292f48358fc4d3ac3874ac1951b405de48 Mon Sep 17 00:00:00 2001 From: ubq323 Date: Wed, 3 Jul 2024 11:15:34 +0100 Subject: compile each file like a body, allowing def at file toplevel --- com.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'com.c') diff --git a/com.c b/com.c index cd097df..dbf07a4 100644 --- a/com.c +++ b/com.c @@ -712,14 +712,15 @@ int main(int argc, char **argv) { exit(1); } - AstNode an; - memset(&an, 0, sizeof an); + AstNode an = { 0 }; + AstNode top = astnode_new_list(); pcc_context_t *parser = pcc_create(infile); while (pcc_parse(parser, &an)) { - compile_node(&com, an, 0); - astnode_free(&an); + astnode_append(&top, an); } pcc_destroy(parser); + compile_body(&com, top.as.list, 0, 0); + astnode_free(&top); } -- cgit v1.2.3