diff options
author | ubq323 <ubq323@ubq323.website> | 2024-07-03 11:15:34 +0100 |
---|---|---|
committer | ubq323 <ubq323@ubq323.website> | 2024-07-03 11:15:34 +0100 |
commit | 70c782292f48358fc4d3ac3874ac1951b405de48 (patch) | |
tree | 6d39dfa6a1c8aac57a7322d233eb98c284f8d177 /com.c | |
parent | 033a9cbb66d65a0918e2c095d12937afb82fd4b2 (diff) |
compile each file like a body, allowing def at file toplevel
Diffstat (limited to 'com.c')
-rw-r--r-- | com.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -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); } |