aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTucker Evans <tuckerevans24@gmail.com>2019-10-07 19:17:55 -0400
committerTucker Evans <tuckerevans24@gmail.com>2019-10-07 19:17:55 -0400
commitf64eced412b2d779af7785b0409ca10889741118 (patch)
tree120d713b0285d45a7e108b2e7ac47b6e2415dc64
parent279c9a29eedcbfd6748ac6e5e33fe4a26ed29188 (diff)
Add generate statement code in correct order
-rw-r--r--gen_code.c16
-rw-r--r--gen_code.h4
2 files changed, 14 insertions, 6 deletions
diff --git a/gen_code.c b/gen_code.c
index 30975f0..0faa068 100644
--- a/gen_code.c
+++ b/gen_code.c
@@ -71,12 +71,24 @@ ptree *t;
}
}
+gen_statement_order(t)
+ptree *t;
+{
+ if (t->type != LIST){
+ gen_statement(t);
+ return;
+ }
+
+ gen_statement_order(t->l);
+ gen_statement_order(t->r);
+
+}
+
void gen_code(t, name)
ptree *t;
char *name;
{
printf("\n.globl %s\n.type %s, @function\n%s:\n", name, name, name);
- /*TODO call gen_statement on all statements in LIST t*/
- /*Look at set_type for list traverseal code*/
+ gen_statement_order(t);
}
diff --git a/gen_code.h b/gen_code.h
index 3d44755..cb463c2 100644
--- a/gen_code.h
+++ b/gen_code.h
@@ -3,8 +3,4 @@
#include "tree.h"
void gen_code(ptree*, char*);
-
-void gen_expr(ptree*);
-void gen_statement(ptree*);
-
#endif