summaryrefslogtreecommitdiff
path: root/src/ast/nodes/RootNode.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/ast/nodes/RootNode.java')
-rw-r--r--src/ast/nodes/RootNode.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/ast/nodes/RootNode.java b/src/ast/nodes/RootNode.java
index 9cad871..2c99164 100644
--- a/src/ast/nodes/RootNode.java
+++ b/src/ast/nodes/RootNode.java
@@ -2,7 +2,6 @@ package ast.nodes;
import ast.types.*;
import codegen.Label;
-
import java.util.ArrayList;
import java.util.HashMap;
import semanticanalysis.*;
@@ -55,7 +54,11 @@ public class RootNode implements Node {
str += child.codeGeneration();
}
- return str + "halt\n" + Label.getFunDef();
+ for (int i = 0; i < Label.getGlobalVarNum(); i++) {
+ str += "pop\n";
+ }
+
+ return str + "pop\npop\nhalt\n" + Label.getFunDef();
}
@Override