diff options
Diffstat (limited to 'src/ast/nodes/RootNode.java')
-rw-r--r-- | src/ast/nodes/RootNode.java | 7 |
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 |