diff options
author | bd-912 <bdunahu@colostate.edu> | 2024-05-09 00:36:50 -0600 |
---|---|---|
committer | bd-912 <bdunahu@colostate.edu> | 2024-05-09 00:36:50 -0600 |
commit | f86e714a4fdebb994101813a5fa6664f5883a0ab (patch) | |
tree | 727bec17afbb6fc373d6a6b73a69ba47ad1b7a4c | |
parent | f59241de07bfc0170fe3a18dc279d2a66bd58fdb (diff) |
Many final bug-fixes in heat visitor, symbol table
-rw-r--r-- | heat/HeatVisitor.java | 3 | ||||
-rw-r--r-- | output/QuickSort.s | 1420 | ||||
-rw-r--r-- | output/TreeVisitor.s | 8262 | ||||
-rw-r--r-- | output/ex25.java | 38 | ||||
-rw-r--r-- | output/ex26.java | 38 | ||||
-rw-r--r-- | output/ex27.java | 384 | ||||
-rw-r--r-- | output/ex28.java | 17 | ||||
-rw-r--r-- | output/negative/BadShadow-error.java | 25 | ||||
-rw-r--r-- | output/negative/CallNonSubType-error.java | 38 | ||||
-rw-r--r-- | output/negative/MisuseMainArg-error.java | 13 | ||||
-rw-r--r-- | output/negative/NonDistinctMethods-error.java | 18 | ||||
-rw-r--r-- | output/negative/NonDistinctTypes-error.java | 17 | ||||
-rw-r--r-- | output/negative/NotInt-error.java | 17 | ||||
-rw-r--r-- | output/negative/StealMainArg-error.java | 14 | ||||
-rw-r--r-- | output/negative/WrongAllocate-error1.java | 23 | ||||
-rw-r--r-- | st/SymTableClasses.java | 6 | ||||
-rw-r--r-- | st/SymTableMethods.java | 4 | ||||
-rw-r--r-- | st/SymTableVars.java | 13 | ||||
-rw-r--r-- | st/SymbolTable.java | 7 | ||||
-rw-r--r-- | st/TokenKey.java | 9 | ||||
-rw-r--r-- | st/TypeEnum.java | 2 |
21 files changed, 4809 insertions, 5559 deletions
diff --git a/heat/HeatVisitor.java b/heat/HeatVisitor.java index 15971d3..9886fdc 100644 --- a/heat/HeatVisitor.java +++ b/heat/HeatVisitor.java @@ -1058,6 +1058,9 @@ public class HeatVisitor extends GJDepthFirst<TypeBundle,ArrayList<TypeBundle>> n.getClass().getSimpleName())); /////////////////////////////////////////////////////////////// _ret = n.f1.accept(this, argu); + if (!_ret.isBool()) + throw new TypecheckException(String.format("%s tried with a non-bool!", + n.getClass().getSimpleName())); /////////////////////////////////////////////////////////////// MinimalLogger.info(String.format("<- %s with %s", n.getClass().getSimpleName(), diff --git a/output/QuickSort.s b/output/QuickSort.s index 9fd59fe..e69de29 100644 --- a/output/QuickSort.s +++ b/output/QuickSort.s @@ -1,1420 +0,0 @@ -.data -functable_QS: - QS_Start - QS_Sort - QS_Print - QS_Init -.text -jal Main -li $v0 10 -syscall -Main: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - li $a0 24 - jal _heapAlloc - move $s7 $v0 - la $t9 functable_QS - sw $t9 0($s7) - move $s6 $s7 - move $s7 $s6 - lw $s6 0($s7) - lw $s5 0($s6) - li $s6 10 - move $s4 $s6 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - move $a1 $s4 - jalr $s5 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s6 $v0 - move $s4 $s6 - move $s6 $s4 - move $a0 $s6 - jal _print - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra -QS_Start: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s6 $a0 - move $s7 $a1 - move $s5 $s6 - lw $s5 0($s6) - move $s4 $s7 - move $s7 $s4 - lw $s5 12($s5) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s6 - move $a1 $s7 - jalr $s5 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s4 $v0 - move $s7 $s4 - move $s4 $s7 - move $s7 $s6 - lw $s7 0($s6) - lw $s7 8($s7) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s6 - jalr $s7 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s7 $s5 - move $s4 $s7 - li $s7 9999 - move $s5 $s7 - move $s7 $s5 - move $a0 $s7 - jal _print - lw $s7 20($s6) - li $s5 1 - move $a0 $s7 - move $t9 $s5 - subu $s3 $a0 $t9 - move $s5 $s3 - move $s4 $s5 - move $s5 $s6 - lw $s5 0($s6) - li $s3 0 - move $s7 $s3 - move $s3 $s4 - move $s2 $s3 - lw $s5 4($s5) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s6 - move $a1 $s7 - move $a2 $s2 - jalr $s5 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s3 $v0 - move $s2 $s3 - move $s4 $s2 - move $s2 $s6 - lw $s2 0($s6) - lw $s2 8($s2) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s6 - jalr $s2 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s3 $v0 - move $s2 $s3 - move $s4 $s2 - li $s2 0 - move $s4 $s2 - move $s2 $s4 - move $v0 $s2 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra -QS_Sort: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 384 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - sw $a0 -68($fp) - sw $a1 -80($fp) - sw $a2 -72($fp) - li $s4 0 - move $s3 $s4 - lw $t0 -84($fp) - move $t0 $s3 - sw $t0 -84($fp) - lw $t0 -80($fp) - move $s3 $t0 - sw $t0 -80($fp) - lw $t0 -72($fp) - move $s2 $t0 - sw $t0 -72($fp) - move $a0 $s3 - move $t9 $s2 - slt $s1 $a0 $t9 - move $s2 $s1 - move $s1 $s2 - blez $s1 if43_else -if43_body: - lw $t0 -68($fp) - lw $s1 16($t0) - sw $t0 -68($fp) - move $s2 $s1 - lw $t0 -72($fp) - move $s1 $t0 - sw $t0 -72($fp) - move $a0 $s1 - li $t9 4 - mul $s3 $a0 $t9 - move $a0 $s3 - li $t9 4 - addu $s3 $a0 $t9 - move $a0 $s2 - move $t9 $s3 - addu $s3 $a0 $t9 - lw $s2 0($s3) - move $s3 $s2 - lw $t0 -292($fp) - move $t0 $s3 - sw $t0 -292($fp) - lw $t0 -80($fp) - move $s3 $t0 - sw $t0 -80($fp) - li $s1 1 - move $a0 $s3 - move $t9 $s1 - subu $s0 $a0 $t9 - move $s1 $s0 - lw $t0 -76($fp) - move $t0 $s1 - sw $t0 -76($fp) - lw $t0 -72($fp) - move $s1 $t0 - sw $t0 -72($fp) - move $s3 $s1 - lw $t0 -88($fp) - move $t0 $s3 - sw $t0 -88($fp) - li $s3 1 - move $t7 $s3 - lw $t0 -288($fp) - move $t0 $t7 - sw $t0 -288($fp) -while62_test: - lw $t0 -284($fp) - lw $t1 -288($fp) - move $t0 $t1 - sw $t1 -288($fp) - sw $t0 -284($fp) - lw $t0 -116($fp) - lw $t1 -284($fp) - move $t0 $t1 - sw $t1 -284($fp) - sw $t0 -116($fp) - lw $t0 -244($fp) - lw $t1 -116($fp) - move $t0 $t1 - sw $t1 -116($fp) - sw $t0 -244($fp) - lw $t0 -244($fp) - blez $t0 while62_end - sw $t0 -244($fp) -while62_body: - lw $t0 -100($fp) - li $t0 1 - sw $t0 -100($fp) - lw $t0 -112($fp) - lw $t1 -100($fp) - move $t0 $t1 - sw $t1 -100($fp) - sw $t0 -112($fp) - lw $t0 -104($fp) - lw $t1 -112($fp) - move $t0 $t1 - sw $t1 -112($fp) - sw $t0 -104($fp) -while68_test: - lw $t0 -108($fp) - lw $t1 -104($fp) - move $t0 $t1 - sw $t1 -104($fp) - sw $t0 -108($fp) - lw $t0 -96($fp) - lw $t1 -108($fp) - move $t0 $t1 - sw $t1 -108($fp) - sw $t0 -96($fp) - lw $t0 -92($fp) - lw $t1 -96($fp) - move $t0 $t1 - sw $t1 -96($fp) - sw $t0 -92($fp) - lw $t0 -92($fp) - blez $t0 while68_end - sw $t0 -92($fp) -while68_body: - lw $t0 -76($fp) - move $s3 $t0 - sw $t0 -76($fp) - li $t7 1 - move $a0 $s3 - move $t9 $t7 - addu $s2 $a0 $t9 - move $s4 $s2 - lw $t0 -76($fp) - move $t0 $s4 - sw $t0 -76($fp) - lw $t0 -68($fp) - lw $t6 16($t0) - sw $t0 -68($fp) - move $t3 $t6 - lw $t0 -76($fp) - move $s0 $t0 - sw $t0 -76($fp) - move $a0 $s0 - li $t9 4 - mul $t5 $a0 $t9 - move $a0 $t5 - li $t9 4 - addu $t5 $a0 $t9 - move $a0 $t3 - move $t9 $t5 - addu $t5 $a0 $t9 - lw $t4 0($t5) - move $s6 $t4 - lw $t0 -296($fp) - move $t0 $s6 - sw $t0 -296($fp) - lw $t0 -304($fp) - lw $t1 -296($fp) - move $t0 $t1 - sw $t1 -296($fp) - sw $t0 -304($fp) - lw $t0 -312($fp) - lw $t1 -292($fp) - move $t0 $t1 - sw $t1 -292($fp) - sw $t0 -312($fp) - lw $t0 -304($fp) - lw $t1 -312($fp) - move $a0 $t0 - move $t9 $t1 - slt $s7 $a0 $t9 - sw $t1 -312($fp) - sw $t0 -304($fp) - lw $t0 -308($fp) - move $t0 $s7 - sw $t0 -308($fp) - lw $t0 -332($fp) - lw $t1 -308($fp) - move $t0 $t1 - sw $t1 -308($fp) - sw $t0 -332($fp) - lw $t0 -328($fp) - lw $t1 -332($fp) - move $t0 $t1 - sw $t1 -332($fp) - sw $t0 -328($fp) - lw $t0 -328($fp) - move $a0 $t0 - li $t9 0 - seq $s5 $a0 $t9 - sw $t0 -328($fp) - lw $t0 -340($fp) - move $t0 $s5 - sw $t0 -340($fp) - lw $t0 -336($fp) - lw $t1 -340($fp) - move $t0 $t1 - sw $t1 -340($fp) - sw $t0 -336($fp) - lw $t0 -320($fp) - lw $t1 -336($fp) - move $t0 $t1 - sw $t1 -336($fp) - sw $t0 -320($fp) - lw $t0 -320($fp) - blez $t0 if82_else - sw $t0 -320($fp) -if82_body: - lw $t0 -316($fp) - li $t0 0 - sw $t0 -316($fp) - lw $t0 -324($fp) - lw $t1 -316($fp) - move $t0 $t1 - sw $t1 -316($fp) - sw $t0 -324($fp) - lw $t0 -104($fp) - lw $t1 -324($fp) - move $t0 $t1 - sw $t1 -324($fp) - sw $t0 -104($fp) - j if82_end -if82_else: - lw $t0 -300($fp) - li $t0 1 - sw $t0 -300($fp) - lw $t0 -300($fp) - move $s1 $t0 - sw $t0 -300($fp) - lw $t0 -104($fp) - move $t0 $s1 - sw $t0 -104($fp) -if82_end: - j while68_test -while68_end: - lw $t0 -136($fp) - li $t0 1 - sw $t0 -136($fp) - lw $t0 -128($fp) - lw $t1 -136($fp) - move $t0 $t1 - sw $t1 -136($fp) - sw $t0 -128($fp) - lw $t0 -104($fp) - lw $t1 -128($fp) - move $t0 $t1 - sw $t1 -128($fp) - sw $t0 -104($fp) -while98_test: - lw $t0 -148($fp) - lw $t1 -104($fp) - move $t0 $t1 - sw $t1 -104($fp) - sw $t0 -148($fp) - lw $t0 -140($fp) - lw $t1 -148($fp) - move $t0 $t1 - sw $t1 -148($fp) - sw $t0 -140($fp) - lw $t0 -160($fp) - lw $t1 -140($fp) - move $t0 $t1 - sw $t1 -140($fp) - sw $t0 -160($fp) - lw $t0 -160($fp) - blez $t0 while98_end - sw $t0 -160($fp) -while98_body: - lw $t0 -376($fp) - lw $t1 -88($fp) - move $t0 $t1 - sw $t1 -88($fp) - sw $t0 -376($fp) - lw $t0 -372($fp) - li $t0 1 - sw $t0 -372($fp) - lw $t0 -380($fp) - lw $t1 -376($fp) - lw $t2 -372($fp) - move $a0 $t1 - move $t9 $t2 - subu $t0 $a0 $t9 - sw $t2 -372($fp) - sw $t1 -376($fp) - sw $t0 -380($fp) - lw $t0 -348($fp) - lw $t1 -380($fp) - move $t0 $t1 - sw $t1 -380($fp) - sw $t0 -348($fp) - lw $t0 -88($fp) - lw $t1 -348($fp) - move $t0 $t1 - sw $t1 -348($fp) - sw $t0 -88($fp) - lw $t0 -344($fp) - lw $t1 -68($fp) - lw $t0 16($t1) - sw $t1 -68($fp) - sw $t0 -344($fp) - lw $t0 -344($fp) - move $s0 $t0 - sw $t0 -344($fp) - lw $t0 -360($fp) - lw $t1 -88($fp) - move $t0 $t1 - sw $t1 -88($fp) - sw $t0 -360($fp) - lw $t0 -360($fp) - move $a0 $t0 - li $t9 4 - mul $s4 $a0 $t9 - sw $t0 -360($fp) - move $a0 $s4 - li $t9 4 - addu $s4 $a0 $t9 - move $a0 $s0 - move $t9 $s4 - addu $s4 $a0 $t9 - lw $s6 0($s4) - lw $t0 -356($fp) - move $t0 $s6 - sw $t0 -356($fp) - lw $t0 -296($fp) - lw $t1 -356($fp) - move $t0 $t1 - sw $t1 -356($fp) - sw $t0 -296($fp) - lw $t0 -352($fp) - lw $t1 -292($fp) - move $t0 $t1 - sw $t1 -292($fp) - sw $t0 -352($fp) - lw $t0 -296($fp) - move $t5 $t0 - sw $t0 -296($fp) - lw $t0 -364($fp) - lw $t1 -352($fp) - move $a0 $t1 - move $t9 $t5 - slt $t0 $a0 $t9 - sw $t1 -352($fp) - sw $t0 -364($fp) - lw $t0 -364($fp) - move $t6 $t0 - sw $t0 -364($fp) - move $s2 $t6 - move $s1 $s2 - lw $t0 -368($fp) - move $a0 $s1 - li $t9 0 - seq $t0 $a0 $t9 - sw $t0 -368($fp) - lw $t0 -368($fp) - move $t7 $t0 - sw $t0 -368($fp) - move $s3 $t7 - move $t3 $s3 - blez $t3 if112_else -if112_body: - li $t4 0 - move $s7 $t4 - lw $t0 -104($fp) - move $t0 $s7 - sw $t0 -104($fp) - j if112_end -if112_else: - li $s5 1 - lw $t0 -384($fp) - move $t0 $s5 - sw $t0 -384($fp) - lw $t0 -104($fp) - lw $t1 -384($fp) - move $t0 $t1 - sw $t1 -384($fp) - sw $t0 -104($fp) -if112_end: - j while98_test -while98_end: - lw $t0 -176($fp) - lw $t1 -68($fp) - lw $t0 16($t1) - sw $t1 -68($fp) - sw $t0 -176($fp) - lw $t0 -208($fp) - lw $t1 -176($fp) - move $t0 $t1 - sw $t1 -176($fp) - sw $t0 -208($fp) - lw $t0 -192($fp) - lw $t1 -76($fp) - move $t0 $t1 - sw $t1 -76($fp) - sw $t0 -192($fp) - lw $t0 -168($fp) - lw $t1 -192($fp) - move $a0 $t1 - li $t9 4 - mul $t0 $a0 $t9 - sw $t1 -192($fp) - sw $t0 -168($fp) - lw $t0 -168($fp) - lw $t1 -168($fp) - move $a0 $t1 - li $t9 4 - addu $t0 $a0 $t9 - sw $t1 -168($fp) - sw $t0 -168($fp) - lw $t0 -168($fp) - lw $t1 -208($fp) - lw $t2 -168($fp) - move $a0 $t1 - move $t9 $t2 - addu $t0 $a0 $t9 - sw $t2 -168($fp) - sw $t1 -208($fp) - sw $t0 -168($fp) - lw $t0 -216($fp) - lw $t1 -168($fp) - lw $t0 0($t1) - sw $t1 -168($fp) - sw $t0 -216($fp) - lw $t0 -184($fp) - lw $t1 -216($fp) - move $t0 $t1 - sw $t1 -216($fp) - sw $t0 -184($fp) - lw $t0 -84($fp) - lw $t1 -184($fp) - move $t0 $t1 - sw $t1 -184($fp) - sw $t0 -84($fp) - lw $t0 -224($fp) - lw $t1 -68($fp) - lw $t0 16($t1) - sw $t1 -68($fp) - sw $t0 -224($fp) - lw $t0 -236($fp) - lw $t1 -76($fp) - move $t0 $t1 - sw $t1 -76($fp) - sw $t0 -236($fp) - lw $t0 -248($fp) - lw $t1 -236($fp) - move $t0 $t1 - sw $t1 -236($fp) - sw $t0 -248($fp) - lw $t0 -220($fp) - lw $t1 -248($fp) - move $a0 $t1 - li $t9 4 - mul $t0 $a0 $t9 - sw $t1 -248($fp) - sw $t0 -220($fp) - lw $t0 -220($fp) - lw $t1 -220($fp) - move $a0 $t1 - li $t9 4 - addu $t0 $a0 $t9 - sw $t1 -220($fp) - sw $t0 -220($fp) - lw $t0 -220($fp) - lw $t1 -224($fp) - lw $t2 -220($fp) - move $a0 $t1 - move $t9 $t2 - addu $t0 $a0 $t9 - sw $t2 -220($fp) - sw $t1 -224($fp) - sw $t0 -220($fp) - lw $t0 -272($fp) - lw $t1 -68($fp) - lw $t0 16($t1) - sw $t1 -68($fp) - sw $t0 -272($fp) - lw $t0 -276($fp) - lw $t1 -272($fp) - move $t0 $t1 - sw $t1 -272($fp) - sw $t0 -276($fp) - lw $t0 -264($fp) - lw $t1 -88($fp) - move $t0 $t1 - sw $t1 -88($fp) - sw $t0 -264($fp) - lw $t0 -268($fp) - lw $t1 -264($fp) - move $a0 $t1 - li $t9 4 - mul $t0 $a0 $t9 - sw $t1 -264($fp) - sw $t0 -268($fp) - lw $t0 -268($fp) - lw $t1 -268($fp) - move $a0 $t1 - li $t9 4 - addu $t0 $a0 $t9 - sw $t1 -268($fp) - sw $t0 -268($fp) - lw $t0 -268($fp) - lw $t1 -276($fp) - lw $t2 -268($fp) - move $a0 $t1 - move $t9 $t2 - addu $t0 $a0 $t9 - sw $t2 -268($fp) - sw $t1 -276($fp) - sw $t0 -268($fp) - lw $t0 -280($fp) - lw $t1 -268($fp) - lw $t0 0($t1) - sw $t1 -268($fp) - sw $t0 -280($fp) - lw $t0 -260($fp) - lw $t1 -280($fp) - move $t0 $t1 - sw $t1 -280($fp) - sw $t0 -260($fp) - lw $t0 -220($fp) - lw $t1 -260($fp) - sw $t1 0($t0) - sw $t1 -260($fp) - sw $t0 -220($fp) - lw $t0 -256($fp) - lw $t1 -68($fp) - lw $t0 16($t1) - sw $t1 -68($fp) - sw $t0 -256($fp) - lw $t0 -240($fp) - lw $t1 -88($fp) - move $t0 $t1 - sw $t1 -88($fp) - sw $t0 -240($fp) - lw $t0 -228($fp) - lw $t1 -240($fp) - move $t0 $t1 - sw $t1 -240($fp) - sw $t0 -228($fp) - lw $t0 -252($fp) - lw $t1 -228($fp) - move $a0 $t1 - li $t9 4 - mul $t0 $a0 $t9 - sw $t1 -228($fp) - sw $t0 -252($fp) - lw $t0 -252($fp) - lw $t1 -252($fp) - move $a0 $t1 - li $t9 4 - addu $t0 $a0 $t9 - sw $t1 -252($fp) - sw $t0 -252($fp) - lw $t0 -252($fp) - lw $t1 -256($fp) - lw $t2 -252($fp) - move $a0 $t1 - move $t9 $t2 - addu $t0 $a0 $t9 - sw $t2 -252($fp) - sw $t1 -256($fp) - sw $t0 -252($fp) - lw $t0 -232($fp) - lw $t1 -84($fp) - move $t0 $t1 - sw $t1 -84($fp) - sw $t0 -232($fp) - lw $t0 -164($fp) - lw $t1 -232($fp) - move $t0 $t1 - sw $t1 -232($fp) - sw $t0 -164($fp) - lw $t0 -252($fp) - lw $t1 -164($fp) - sw $t1 0($t0) - sw $t1 -164($fp) - sw $t0 -252($fp) - lw $t0 -180($fp) - lw $t1 -88($fp) - move $t0 $t1 - sw $t1 -88($fp) - sw $t0 -180($fp) - lw $t0 -196($fp) - lw $t1 -76($fp) - move $t0 $t1 - sw $t1 -76($fp) - sw $t0 -196($fp) - lw $t0 -200($fp) - li $t0 1 - sw $t0 -200($fp) - lw $t0 -188($fp) - lw $t1 -196($fp) - lw $t2 -200($fp) - move $a0 $t1 - move $t9 $t2 - addu $t0 $a0 $t9 - sw $t2 -200($fp) - sw $t1 -196($fp) - sw $t0 -188($fp) - lw $t0 -204($fp) - lw $t1 -188($fp) - move $t0 $t1 - sw $t1 -188($fp) - sw $t0 -204($fp) - lw $t0 -212($fp) - lw $t1 -204($fp) - move $t0 $t1 - sw $t1 -204($fp) - sw $t0 -212($fp) - lw $t0 -172($fp) - lw $t1 -180($fp) - lw $t2 -212($fp) - move $a0 $t1 - move $t9 $t2 - slt $t0 $a0 $t9 - sw $t2 -212($fp) - sw $t1 -180($fp) - sw $t0 -172($fp) - lw $t0 -144($fp) - lw $t1 -172($fp) - move $t0 $t1 - sw $t1 -172($fp) - sw $t0 -144($fp) - lw $t0 -152($fp) - lw $t1 -144($fp) - move $t0 $t1 - sw $t1 -144($fp) - sw $t0 -152($fp) - lw $t0 -152($fp) - blez $t0 if148_else - sw $t0 -152($fp) -if148_body: - lw $t0 -156($fp) - li $t0 0 - sw $t0 -156($fp) - lw $t0 -120($fp) - lw $t1 -156($fp) - move $t0 $t1 - sw $t1 -156($fp) - sw $t0 -120($fp) - lw $t0 -288($fp) - lw $t1 -120($fp) - move $t0 $t1 - sw $t1 -120($fp) - sw $t0 -288($fp) - j if148_end -if148_else: - lw $t0 -124($fp) - li $t0 1 - sw $t0 -124($fp) - lw $t0 -132($fp) - lw $t1 -124($fp) - move $t0 $t1 - sw $t1 -124($fp) - sw $t0 -132($fp) - lw $t0 -288($fp) - lw $t1 -132($fp) - move $t0 $t1 - sw $t1 -132($fp) - sw $t0 -288($fp) -if148_end: - j while62_test -while62_end: - lw $t0 -68($fp) - lw $s4 16($t0) - sw $t0 -68($fp) - lw $t0 -88($fp) - move $s6 $t0 - sw $t0 -88($fp) - move $s0 $s6 - move $a0 $s0 - li $t9 4 - mul $s6 $a0 $t9 - move $a0 $s6 - li $t9 4 - addu $s6 $a0 $t9 - move $a0 $s4 - move $t9 $s6 - addu $s6 $a0 $t9 - lw $t0 -68($fp) - lw $s4 16($t0) - sw $t0 -68($fp) - move $s0 $s4 - lw $t0 -76($fp) - move $s4 $t0 - sw $t0 -76($fp) - move $a0 $s4 - li $t9 4 - mul $s7 $a0 $t9 - move $a0 $s7 - li $t9 4 - addu $s7 $a0 $t9 - move $a0 $s0 - move $t9 $s7 - addu $s7 $a0 $t9 - lw $s0 0($s7) - move $s7 $s0 - sw $s7 0($s6) - lw $t0 -68($fp) - lw $s7 16($t0) - sw $t0 -68($fp) - lw $t0 -76($fp) - move $s6 $t0 - sw $t0 -76($fp) - move $s0 $s6 - move $a0 $s0 - li $t9 4 - mul $s6 $a0 $t9 - move $a0 $s6 - li $t9 4 - addu $s6 $a0 $t9 - move $a0 $s7 - move $t9 $s6 - addu $s6 $a0 $t9 - lw $t0 -68($fp) - lw $s7 16($t0) - sw $t0 -68($fp) - move $s0 $s7 - lw $t0 -72($fp) - move $s7 $t0 - sw $t0 -72($fp) - move $a0 $s7 - li $t9 4 - mul $s4 $a0 $t9 - move $a0 $s4 - li $t9 4 - addu $s4 $a0 $t9 - move $a0 $s0 - move $t9 $s4 - addu $s4 $a0 $t9 - lw $s0 0($s4) - move $s4 $s0 - sw $s4 0($s6) - lw $t0 -68($fp) - lw $s4 16($t0) - sw $t0 -68($fp) - lw $t0 -72($fp) - move $s6 $t0 - sw $t0 -72($fp) - move $s0 $s6 - move $a0 $s0 - li $t9 4 - mul $s6 $a0 $t9 - move $a0 $s6 - li $t9 4 - addu $s6 $a0 $t9 - move $a0 $s4 - move $t9 $s6 - addu $s6 $a0 $t9 - lw $t0 -84($fp) - move $s4 $t0 - sw $t0 -84($fp) - move $s0 $s4 - sw $s0 0($s6) - lw $t0 -68($fp) - move $s0 $t0 - sw $t0 -68($fp) - lw $t0 -68($fp) - lw $s0 0($t0) - sw $t0 -68($fp) - lw $t0 -80($fp) - move $s6 $t0 - sw $t0 -80($fp) - move $s4 $s6 - lw $t0 -76($fp) - move $s6 $t0 - sw $t0 -76($fp) - li $s7 1 - move $a0 $s6 - move $t9 $s7 - subu $s5 $a0 $t9 - move $s7 $s5 - lw $s0 4($s0) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - lw $t0 -68($fp) - move $a0 $t0 - sw $t0 -68($fp) - move $a1 $s4 - move $a2 $s7 - jalr $s0 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s7 $s5 - move $s5 $s7 - lw $t0 -68($fp) - move $s7 $t0 - sw $t0 -68($fp) - lw $t0 -68($fp) - lw $s7 0($t0) - sw $t0 -68($fp) - lw $t0 -76($fp) - move $s4 $t0 - sw $t0 -76($fp) - li $s0 1 - move $a0 $s4 - move $t9 $s0 - addu $s6 $a0 $t9 - move $s0 $s6 - lw $t0 -72($fp) - move $s6 $t0 - sw $t0 -72($fp) - move $s4 $s6 - lw $s7 4($s7) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - lw $t0 -68($fp) - move $a0 $t0 - sw $t0 -68($fp) - move $a1 $s0 - move $a2 $s4 - jalr $s7 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s6 $v0 - move $s4 $s6 - move $s5 $s4 - j if43_end -if43_else: - li $s4 0 - move $s6 $s4 - move $s5 $s6 -if43_end: - li $s6 0 - move $s5 $s6 - move $s6 $s5 - move $v0 $s6 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 384 - jr $ra -QS_Print: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 92 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s6 $a0 - li $s7 0 - move $s5 $s7 - move $s7 $s5 -while214_test: - move $s5 $s7 - lw $t0 -76($fp) - lw $t0 20($s6) - sw $t0 -76($fp) - lw $t0 -84($fp) - lw $t1 -76($fp) - move $t0 $t1 - sw $t1 -76($fp) - sw $t0 -84($fp) - lw $t0 -80($fp) - lw $t1 -84($fp) - move $t0 $t1 - sw $t1 -84($fp) - sw $t0 -80($fp) - lw $t0 -72($fp) - lw $t1 -80($fp) - move $a0 $s5 - move $t9 $t1 - slt $t0 $a0 $t9 - sw $t1 -80($fp) - sw $t0 -72($fp) - lw $t0 -92($fp) - lw $t1 -72($fp) - move $t0 $t1 - sw $t1 -72($fp) - sw $t0 -92($fp) - lw $t0 -88($fp) - lw $t1 -92($fp) - move $t0 $t1 - sw $t1 -92($fp) - sw $t0 -88($fp) - lw $t0 -88($fp) - blez $t0 while214_end - sw $t0 -88($fp) -while214_body: - lw $t6 16($s6) - move $t5 $t6 - move $s4 $s7 - move $a0 $s4 - li $t9 4 - mul $s3 $a0 $t9 - move $a0 $s3 - li $t9 4 - addu $s3 $a0 $t9 - move $a0 $t5 - move $t9 $s3 - addu $s3 $a0 $t9 - lw $s0 0($s3) - move $s1 $s0 - move $s2 $s1 - move $a0 $s2 - jal _print - move $t4 $s7 - lw $t0 -68($fp) - li $t0 1 - sw $t0 -68($fp) - lw $t0 -68($fp) - move $a0 $t4 - move $t9 $t0 - addu $t3 $a0 $t9 - sw $t0 -68($fp) - move $t7 $t3 - move $s7 $t7 - j while214_test -while214_end: - li $t3 0 - move $t4 $t3 - move $t3 $t4 - move $v0 $t3 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 92 - jr $ra -QS_Init: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s5 $a0 - move $s6 $a1 - move $s7 $s6 - move $s4 $s7 - sw $s4 20($s5) - move $s4 $s6 - move $s6 $s4 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s6 - jal AllocArray - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s4 $v0 - move $s6 $s4 - move $s4 $s6 - sw $s4 16($s5) - lw $s4 16($s5) - li $s6 0 - move $s7 $s6 - move $a0 $s7 - li $t9 4 - mul $s6 $a0 $t9 - move $a0 $s6 - li $t9 4 - addu $s6 $a0 $t9 - move $a0 $s4 - move $t9 $s6 - addu $s6 $a0 $t9 - li $s4 20 - move $s7 $s4 - sw $s7 0($s6) - lw $s7 16($s5) - li $s6 1 - move $s4 $s6 - move $a0 $s4 - li $t9 4 - mul $s6 $a0 $t9 - move $a0 $s6 - li $t9 4 - addu $s6 $a0 $t9 - move $a0 $s7 - move $t9 $s6 - addu $s6 $a0 $t9 - li $s7 7 - move $s4 $s7 - sw $s4 0($s6) - lw $s4 16($s5) - li $s6 2 - move $s7 $s6 - move $a0 $s7 - li $t9 4 - mul $s6 $a0 $t9 - move $a0 $s6 - li $t9 4 - addu $s6 $a0 $t9 - move $a0 $s4 - move $t9 $s6 - addu $s6 $a0 $t9 - li $s4 12 - move $s7 $s4 - sw $s7 0($s6) - lw $s7 16($s5) - li $s6 3 - move $s4 $s6 - move $a0 $s4 - li $t9 4 - mul $s6 $a0 $t9 - move $a0 $s6 - li $t9 4 - addu $s6 $a0 $t9 - move $a0 $s7 - move $t9 $s6 - addu $s6 $a0 $t9 - li $s7 18 - move $s4 $s7 - sw $s4 0($s6) - lw $s4 16($s5) - li $s6 4 - move $s7 $s6 - move $a0 $s7 - li $t9 4 - mul $s6 $a0 $t9 - move $a0 $s6 - li $t9 4 - addu $s6 $a0 $t9 - move $a0 $s4 - move $t9 $s6 - addu $s6 $a0 $t9 - li $s4 2 - move $s7 $s4 - sw $s7 0($s6) - lw $s7 16($s5) - li $s6 5 - move $s4 $s6 - move $a0 $s4 - li $t9 4 - mul $s6 $a0 $t9 - move $a0 $s6 - li $t9 4 - addu $s6 $a0 $t9 - move $a0 $s7 - move $t9 $s6 - addu $s6 $a0 $t9 - li $s7 11 - move $s4 $s7 - sw $s4 0($s6) - lw $s4 16($s5) - li $s6 6 - move $s7 $s6 - move $a0 $s7 - li $t9 4 - mul $s6 $a0 $t9 - move $a0 $s6 - li $t9 4 - addu $s6 $a0 $t9 - move $a0 $s4 - move $t9 $s6 - addu $s6 $a0 $t9 - li $s4 6 - move $s7 $s4 - sw $s7 0($s6) - lw $s7 16($s5) - li $s6 7 - move $s4 $s6 - move $a0 $s4 - li $t9 4 - mul $s6 $a0 $t9 - move $a0 $s6 - li $t9 4 - addu $s6 $a0 $t9 - move $a0 $s7 - move $t9 $s6 - addu $s6 $a0 $t9 - li $s7 9 - move $s4 $s7 - sw $s4 0($s6) - lw $s4 16($s5) - li $s6 8 - move $s7 $s6 - move $a0 $s7 - li $t9 4 - mul $s6 $a0 $t9 - move $a0 $s6 - li $t9 4 - addu $s6 $a0 $t9 - move $a0 $s4 - move $t9 $s6 - addu $s6 $a0 $t9 - li $s4 19 - move $s7 $s4 - sw $s7 0($s6) - lw $s7 16($s5) - li $s5 9 - move $s6 $s5 - move $a0 $s6 - li $t9 4 - mul $s5 $a0 $t9 - move $a0 $s5 - li $t9 4 - addu $s5 $a0 $t9 - move $a0 $s7 - move $t9 $s5 - addu $s5 $a0 $t9 - li $s7 5 - move $s6 $s7 - sw $s6 0($s5) - li $s6 0 - move $s5 $s6 - move $s6 $s5 - move $v0 $s6 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra -AllocArray: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s7 $a0 - move $a0 $s7 - li $t9 4 - mul $s6 $a0 $t9 - move $a0 $s6 - li $t9 4 - addu $s6 $a0 $t9 - move $a0 $s6 - jal _heapAlloc - move $s5 $v0 - sw $s7 0($s5) - move $v0 $s5 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra -_print: - li $v0 1 # syscall: print integer - syscall - la $a0 _newline - li $v0 4 # syscall: print string - syscall - jr $ra -_error: - li $v0 4 # syscall: print string - syscall - li $v0 10 # syscall: exit - syscall -_heapAlloc: - li $v0 9 # syscall: sbrk - syscall - jr $ra -.data -.align 0 -_newline: .asciiz "\n" -_str0: .asciiz "null pointer\n" diff --git a/output/TreeVisitor.s b/output/TreeVisitor.s index 924a6bc..22137c3 100644 --- a/output/TreeVisitor.s +++ b/output/TreeVisitor.s @@ -1,4253 +1,4253 @@ -.data + .data functable_TV: - TV_Start + TV_Start functable_Tree: - Tree_Init - Tree_SetRight - Tree_SetLeft - Tree_GetRight - Tree_GetLeft - Tree_GetKey - Tree_SetKey - Tree_GetHas_Right - Tree_GetHas_Left - Tree_SetHas_Left - Tree_SetHas_Right - Tree_Compare - Tree_Insert - Tree_Delete - Tree_Remove - Tree_RemoveRight - Tree_RemoveLeft - Tree_Search - Tree_Print - Tree_RecPrint - Tree_accept + Tree_Init + Tree_SetRight + Tree_SetLeft + Tree_GetRight + Tree_GetLeft + Tree_GetKey + Tree_SetKey + Tree_GetHas_Right + Tree_GetHas_Left + Tree_SetHas_Left + Tree_SetHas_Right + Tree_Compare + Tree_Insert + Tree_Delete + Tree_Remove + Tree_RemoveRight + Tree_RemoveLeft + Tree_Search + Tree_Print + Tree_RecPrint + Tree_accept functable_Visitor: - Visitor_visit + Visitor_visit functable_MyVisitor: - MyVisitor_visit - Visitor_visit -.text -jal Main -li $v0 10 -syscall + MyVisitor_visit + Visitor_visit + .text + jal Main + li $v0 10 + syscall Main: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - li $a0 4 - jal _heapAlloc - move $s7 $v0 - la $t9 functable_TV - sw $t9 0($s7) - move $s6 $s7 - move $s7 $s6 - lw $s6 0($s7) - lw $s5 0($s6) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s5 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s6 $v0 - move $s5 $s6 - move $s6 $s5 - move $a0 $s6 - jal _print - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + li $a0 4 + jal _heapAlloc + move $s7 $v0 + la $t9 functable_TV + sw $t9 0($s7) + move $s6 $s7 + move $s7 $s6 + lw $s6 0($s7) + lw $s5 0($s6) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s5 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s6 $v0 + move $s5 $s6 + move $s6 $s5 + move $a0 $s6 + jal _print + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra TV_Start: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s7 $a0 - li $a0 108 - jal _heapAlloc - move $s6 $v0 - la $t9 functable_Tree - sw $t9 0($s6) - move $s7 $s6 - move $s6 $s7 - move $s7 $s6 - move $s6 $s7 - move $s7 $s6 - lw $s6 0($s7) - lw $s5 0($s6) - li $s6 16 - move $s4 $s6 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - move $a1 $s4 - jalr $s5 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s6 $v0 - move $s4 $s6 - move $s6 $s4 - move $s4 $s7 - move $s7 $s4 - lw $s4 0($s7) - lw $s5 72($s4) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s5 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s4 $v0 - move $s5 $s4 - move $s6 $s5 - li $s5 100000000 - move $s4 $s5 - move $s5 $s4 - move $a0 $s5 - jal _print - move $s5 $s7 - move $s7 $s5 - lw $s5 0($s7) - lw $s4 48($s5) - li $s5 8 - move $s3 $s5 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - move $a1 $s3 - jalr $s4 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s3 $s5 - move $s6 $s3 - move $s3 $s7 - move $s7 $s3 - lw $s3 0($s7) - lw $s5 48($s3) - li $s3 24 - move $s4 $s3 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - move $a1 $s4 - jalr $s5 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s3 $v0 - move $s4 $s3 - move $s6 $s4 - move $s4 $s7 - move $s7 $s4 - lw $s4 0($s7) - lw $s3 48($s4) - li $s4 4 - move $s5 $s4 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - move $a1 $s5 - jalr $s3 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s4 $v0 - move $s5 $s4 - move $s6 $s5 - move $s5 $s7 - move $s7 $s5 - lw $s5 0($s7) - lw $s4 48($s5) - li $s5 12 - move $s3 $s5 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - move $a1 $s3 - jalr $s4 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s3 $s5 - move $s6 $s3 - move $s3 $s7 - move $s7 $s3 - lw $s3 0($s7) - lw $s5 48($s3) - li $s3 20 - move $s4 $s3 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - move $a1 $s4 - jalr $s5 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s3 $v0 - move $s4 $s3 - move $s6 $s4 - move $s4 $s7 - move $s7 $s4 - lw $s4 0($s7) - lw $s3 48($s4) - li $s4 28 - move $s5 $s4 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - move $a1 $s5 - jalr $s3 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s4 $v0 - move $s5 $s4 - move $s6 $s5 - move $s5 $s7 - move $s7 $s5 - lw $s5 0($s7) - lw $s4 48($s5) - li $s5 14 - move $s3 $s5 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - move $a1 $s3 - jalr $s4 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s3 $s5 - move $s6 $s3 - move $s3 $s7 - move $s7 $s3 - lw $s3 0($s7) - lw $s5 72($s3) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s5 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s3 $v0 - move $s5 $s3 - move $s6 $s5 - li $s5 100000000 - move $s3 $s5 - move $s5 $s3 - move $a0 $s5 - jal _print - li $a0 16 - jal _heapAlloc - move $s5 $v0 - la $t9 functable_MyVisitor - sw $t9 0($s5) - move $s3 $s5 - move $s5 $s3 - move $s3 $s5 - li $s5 50000000 - move $s4 $s5 - move $s5 $s4 - move $a0 $s5 - jal _print - move $s5 $s7 - move $s7 $s5 - lw $s5 0($s7) - lw $s4 80($s5) - move $s5 $s3 - move $s3 $s5 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - move $a1 $s3 - jalr $s4 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s3 $s5 - move $s5 $s3 - li $s5 100000000 - move $s3 $s5 - move $s5 $s3 - move $a0 $s5 - jal _print - move $s5 $s7 - move $s7 $s5 - lw $s5 0($s7) - lw $s3 68($s5) - li $s5 24 - move $s4 $s5 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - move $a1 $s4 - jalr $s3 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s4 $s5 - move $s5 $s4 - move $a0 $s5 - jal _print - move $s5 $s7 - move $s7 $s5 - lw $s5 0($s7) - lw $s4 68($s5) - li $s5 12 - move $s3 $s5 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - move $a1 $s3 - jalr $s4 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s3 $s5 - move $s5 $s3 - move $a0 $s5 - jal _print - move $s5 $s7 - move $s7 $s5 - lw $s5 0($s7) - lw $s3 68($s5) - li $s5 16 - move $s4 $s5 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - move $a1 $s4 - jalr $s3 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s4 $s5 - move $s5 $s4 - move $a0 $s5 - jal _print - move $s5 $s7 - move $s7 $s5 - lw $s5 0($s7) - lw $s4 68($s5) - li $s5 50 - move $s3 $s5 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - move $a1 $s3 - jalr $s4 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s3 $s5 - move $s5 $s3 - move $a0 $s5 - jal _print - move $s5 $s7 - move $s7 $s5 - lw $s5 0($s7) - lw $s3 68($s5) - li $s5 12 - move $s4 $s5 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - move $a1 $s4 - jalr $s3 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s4 $s5 - move $s5 $s4 - move $a0 $s5 - jal _print - move $s5 $s7 - move $s7 $s5 - lw $s5 0($s7) - lw $s4 52($s5) - li $s5 12 - move $s3 $s5 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - move $a1 $s3 - jalr $s4 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s3 $s5 - move $s6 $s3 - move $s3 $s7 - move $s7 $s3 - lw $s3 0($s7) - lw $s5 72($s3) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s5 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s3 $v0 - move $s5 $s3 - move $s6 $s5 - move $s5 $s7 - move $s7 $s5 - lw $s5 0($s7) - lw $s6 68($s5) - li $s5 12 - move $s3 $s5 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - move $a1 $s3 - jalr $s6 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s3 $s5 - move $s5 $s3 - move $a0 $s5 - jal _print - li $s5 0 - move $s3 $s5 - move $s5 $s3 - move $v0 $s5 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s7 $a0 + li $a0 108 + jal _heapAlloc + move $s6 $v0 + la $t9 functable_Tree + sw $t9 0($s6) + move $s7 $s6 + move $s6 $s7 + move $s7 $s6 + move $s6 $s7 + move $s7 $s6 + lw $s6 0($s7) + lw $s5 0($s6) + li $s6 16 + move $s4 $s6 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + move $a1 $s4 + jalr $s5 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s6 $v0 + move $s4 $s6 + move $s6 $s4 + move $s4 $s7 + move $s7 $s4 + lw $s4 0($s7) + lw $s5 72($s4) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s5 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s4 $v0 + move $s5 $s4 + move $s6 $s5 + li $s5 100000000 + move $s4 $s5 + move $s5 $s4 + move $a0 $s5 + jal _print + move $s5 $s7 + move $s7 $s5 + lw $s5 0($s7) + lw $s4 48($s5) + li $s5 8 + move $s3 $s5 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + move $a1 $s3 + jalr $s4 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $s3 $s5 + move $s6 $s3 + move $s3 $s7 + move $s7 $s3 + lw $s3 0($s7) + lw $s5 48($s3) + li $s3 24 + move $s4 $s3 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + move $a1 $s4 + jalr $s5 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s3 $v0 + move $s4 $s3 + move $s6 $s4 + move $s4 $s7 + move $s7 $s4 + lw $s4 0($s7) + lw $s3 48($s4) + li $s4 4 + move $s5 $s4 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + move $a1 $s5 + jalr $s3 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s4 $v0 + move $s5 $s4 + move $s6 $s5 + move $s5 $s7 + move $s7 $s5 + lw $s5 0($s7) + lw $s4 48($s5) + li $s5 12 + move $s3 $s5 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + move $a1 $s3 + jalr $s4 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $s3 $s5 + move $s6 $s3 + move $s3 $s7 + move $s7 $s3 + lw $s3 0($s7) + lw $s5 48($s3) + li $s3 20 + move $s4 $s3 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + move $a1 $s4 + jalr $s5 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s3 $v0 + move $s4 $s3 + move $s6 $s4 + move $s4 $s7 + move $s7 $s4 + lw $s4 0($s7) + lw $s3 48($s4) + li $s4 28 + move $s5 $s4 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + move $a1 $s5 + jalr $s3 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s4 $v0 + move $s5 $s4 + move $s6 $s5 + move $s5 $s7 + move $s7 $s5 + lw $s5 0($s7) + lw $s4 48($s5) + li $s5 14 + move $s3 $s5 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + move $a1 $s3 + jalr $s4 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $s3 $s5 + move $s6 $s3 + move $s3 $s7 + move $s7 $s3 + lw $s3 0($s7) + lw $s5 72($s3) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s5 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s3 $v0 + move $s5 $s3 + move $s6 $s5 + li $s5 100000000 + move $s3 $s5 + move $s5 $s3 + move $a0 $s5 + jal _print + li $a0 16 + jal _heapAlloc + move $s5 $v0 + la $t9 functable_MyVisitor + sw $t9 0($s5) + move $s3 $s5 + move $s5 $s3 + move $s3 $s5 + li $s5 50000000 + move $s4 $s5 + move $s5 $s4 + move $a0 $s5 + jal _print + move $s5 $s7 + move $s7 $s5 + lw $s5 0($s7) + lw $s4 80($s5) + move $s5 $s3 + move $s3 $s5 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + move $a1 $s3 + jalr $s4 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $s3 $s5 + move $s5 $s3 + li $s5 100000000 + move $s3 $s5 + move $s5 $s3 + move $a0 $s5 + jal _print + move $s5 $s7 + move $s7 $s5 + lw $s5 0($s7) + lw $s3 68($s5) + li $s5 24 + move $s4 $s5 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + move $a1 $s4 + jalr $s3 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $s4 $s5 + move $s5 $s4 + move $a0 $s5 + jal _print + move $s5 $s7 + move $s7 $s5 + lw $s5 0($s7) + lw $s4 68($s5) + li $s5 12 + move $s3 $s5 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + move $a1 $s3 + jalr $s4 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $s3 $s5 + move $s5 $s3 + move $a0 $s5 + jal _print + move $s5 $s7 + move $s7 $s5 + lw $s5 0($s7) + lw $s3 68($s5) + li $s5 16 + move $s4 $s5 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + move $a1 $s4 + jalr $s3 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $s4 $s5 + move $s5 $s4 + move $a0 $s5 + jal _print + move $s5 $s7 + move $s7 $s5 + lw $s5 0($s7) + lw $s4 68($s5) + li $s5 50 + move $s3 $s5 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + move $a1 $s3 + jalr $s4 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $s3 $s5 + move $s5 $s3 + move $a0 $s5 + jal _print + move $s5 $s7 + move $s7 $s5 + lw $s5 0($s7) + lw $s3 68($s5) + li $s5 12 + move $s4 $s5 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + move $a1 $s4 + jalr $s3 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $s4 $s5 + move $s5 $s4 + move $a0 $s5 + jal _print + move $s5 $s7 + move $s7 $s5 + lw $s5 0($s7) + lw $s4 52($s5) + li $s5 12 + move $s3 $s5 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + move $a1 $s3 + jalr $s4 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $s3 $s5 + move $s6 $s3 + move $s3 $s7 + move $s7 $s3 + lw $s3 0($s7) + lw $s5 72($s3) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s5 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s3 $v0 + move $s5 $s3 + move $s6 $s5 + move $s5 $s7 + move $s7 $s5 + lw $s5 0($s7) + lw $s6 68($s5) + li $s5 12 + move $s3 $s5 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + move $a1 $s3 + jalr $s6 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $s3 $s5 + move $s5 $s3 + move $a0 $s5 + jal _print + li $s5 0 + move $s3 $s5 + move $s5 $s3 + move $v0 $s5 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra Tree_Init: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s5 $a0 - move $s6 $a1 - move $s7 $s6 - move $s6 $s7 - sw $s6 92($s5) - li $s6 0 - move $s7 $s6 - sw $s7 96($s5) - li $s7 0 - move $s6 $s7 - sw $s6 100($s5) - li $s6 1 - move $s5 $s6 - move $s6 $s5 - move $v0 $s6 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s5 $a0 + move $s6 $a1 + move $s7 $s6 + move $s6 $s7 + sw $s6 92($s5) + li $s6 0 + move $s7 $s6 + sw $s7 96($s5) + li $s7 0 + move $s6 $s7 + sw $s6 100($s5) + li $s6 1 + move $s5 $s6 + move $s6 $s5 + move $v0 $s6 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra Tree_SetRight: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s5 $a0 - move $s6 $a1 - move $s7 $s6 - move $s6 $s7 - sw $s6 88($s5) - li $s6 1 - move $s5 $s6 - move $s6 $s5 - move $v0 $s6 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s5 $a0 + move $s6 $a1 + move $s7 $s6 + move $s6 $s7 + sw $s6 88($s5) + li $s6 1 + move $s5 $s6 + move $s6 $s5 + move $v0 $s6 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra Tree_SetLeft: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s5 $a0 - move $s6 $a1 - move $s7 $s6 - move $s6 $s7 - sw $s6 84($s5) - li $s6 1 - move $s5 $s6 - move $s6 $s5 - move $v0 $s6 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s5 $a0 + move $s6 $a1 + move $s7 $s6 + move $s6 $s7 + sw $s6 84($s5) + li $s6 1 + move $s5 $s6 + move $s6 $s5 + move $v0 $s6 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra Tree_GetRight: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s6 $a0 - lw $s7 88($s6) - move $s6 $s7 - move $s7 $s6 - move $v0 $s7 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s6 $a0 + lw $s7 88($s6) + move $s6 $s7 + move $s7 $s6 + move $v0 $s7 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra Tree_GetLeft: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s6 $a0 - lw $s7 84($s6) - move $s6 $s7 - move $s7 $s6 - move $v0 $s7 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s6 $a0 + lw $s7 84($s6) + move $s6 $s7 + move $s7 $s6 + move $v0 $s7 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra Tree_GetKey: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s6 $a0 - lw $s7 92($s6) - move $s6 $s7 - move $s7 $s6 - move $v0 $s7 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s6 $a0 + lw $s7 92($s6) + move $s6 $s7 + move $s7 $s6 + move $v0 $s7 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra Tree_SetKey: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s5 $a0 - move $s6 $a1 - move $s7 $s6 - move $s6 $s7 - sw $s6 92($s5) - li $s6 1 - move $s5 $s6 - move $s6 $s5 - move $v0 $s6 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s5 $a0 + move $s6 $a1 + move $s7 $s6 + move $s6 $s7 + sw $s6 92($s5) + li $s6 1 + move $s5 $s6 + move $s6 $s5 + move $v0 $s6 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra Tree_GetHas_Right: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s6 $a0 - lw $s7 100($s6) - move $s6 $s7 - move $s7 $s6 - move $v0 $s7 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s6 $a0 + lw $s7 100($s6) + move $s6 $s7 + move $s7 $s6 + move $v0 $s7 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra Tree_GetHas_Left: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s6 $a0 - lw $s7 96($s6) - move $s6 $s7 - move $s7 $s6 - move $v0 $s7 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s6 $a0 + lw $s7 96($s6) + move $s6 $s7 + move $s7 $s6 + move $v0 $s7 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra Tree_SetHas_Left: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s5 $a0 - move $s6 $a1 - move $s7 $s6 - move $s6 $s7 - sw $s6 96($s5) - li $s6 1 - move $s5 $s6 - move $s6 $s5 - move $v0 $s6 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s5 $a0 + move $s6 $a1 + move $s7 $s6 + move $s6 $s7 + sw $s6 96($s5) + li $s6 1 + move $s5 $s6 + move $s6 $s5 + move $v0 $s6 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra Tree_SetHas_Right: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s5 $a0 - move $s6 $a1 - move $s7 $s6 - move $s6 $s7 - sw $s6 100($s5) - li $s6 1 - move $s5 $s6 - move $s6 $s5 - move $v0 $s6 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s5 $a0 + move $s6 $a1 + move $s7 $s6 + move $s6 $s7 + sw $s6 100($s5) + li $s6 1 + move $s5 $s6 + move $s6 $s5 + move $v0 $s6 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra Tree_Compare: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s5 $a0 - move $s6 $a1 - move $s7 $a2 - li $s4 0 - move $s5 $s4 - move $s4 $s5 - move $s5 $s7 - li $s3 1 - move $a0 $s5 - move $t9 $s3 - addu $s2 $a0 $t9 - move $s3 $s2 - move $s2 $s3 - move $s3 $s6 - move $s5 $s7 - move $a0 $s3 - move $t9 $s5 - slt $s7 $a0 $t9 - move $s5 $s7 - move $s7 $s5 - blez $s7 if216_else + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s5 $a0 + move $s6 $a1 + move $s7 $a2 + li $s4 0 + move $s5 $s4 + move $s4 $s5 + move $s5 $s7 + li $s3 1 + move $a0 $s5 + move $t9 $s3 + addu $s2 $a0 $t9 + move $s3 $s2 + move $s2 $s3 + move $s3 $s6 + move $s5 $s7 + move $a0 $s3 + move $t9 $s5 + slt $s7 $a0 $t9 + move $s5 $s7 + move $s7 $s5 + blez $s7 if216_else if216_body: - li $s7 0 - move $s5 $s7 - move $s4 $s5 - j if216_end + li $s7 0 + move $s5 $s7 + move $s4 $s5 + j if216_end if216_else: - move $s5 $s6 - move $s6 $s2 - move $a0 $s5 - move $t9 $s6 - slt $s2 $a0 $t9 - move $s6 $s2 - move $s2 $s6 - move $s6 $s2 - move $a0 $s6 - li $t9 0 - seq $s2 $a0 $t9 - move $s6 $s2 - move $s2 $s6 - move $s6 $s2 - blez $s6 if223_else + move $s5 $s6 + move $s6 $s2 + move $a0 $s5 + move $t9 $s6 + slt $s2 $a0 $t9 + move $s6 $s2 + move $s2 $s6 + move $s6 $s2 + move $a0 $s6 + li $t9 0 + seq $s2 $a0 $t9 + move $s6 $s2 + move $s2 $s6 + move $s6 $s2 + blez $s6 if223_else if223_body: - li $s6 0 - move $s2 $s6 - move $s4 $s2 - j if223_end + li $s6 0 + move $s2 $s6 + move $s4 $s2 + j if223_end if223_else: - li $s2 1 - move $s6 $s2 - move $s4 $s6 + li $s2 1 + move $s6 $s2 + move $s4 $s6 if223_end: if216_end: - move $s6 $s4 - move $s4 $s6 - move $s6 $s4 - move $v0 $s6 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + move $s6 $s4 + move $s4 $s6 + move $s6 $s4 + move $v0 $s6 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra Tree_Insert: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 292 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s6 $a0 - move $s7 $a1 - li $a0 108 - jal _heapAlloc - move $s5 $v0 - la $t9 functable_Tree - sw $t9 0($s5) - move $s4 $s5 - move $s5 $s4 - move $s4 $s5 - move $s5 $s4 - move $s4 $s5 - lw $s5 0($s4) - lw $s3 0($s5) - move $s5 $s7 - move $s2 $s5 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s4 - move $a1 $s2 - jalr $s3 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s2 $s5 - move $s5 $s2 - move $s2 $s6 - move $s6 $s2 - move $s2 $s6 - li $s6 1 - move $s3 $s6 - move $s6 $s3 + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 292 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s6 $a0 + move $s7 $a1 + li $a0 108 + jal _heapAlloc + move $s5 $v0 + la $t9 functable_Tree + sw $t9 0($s5) + move $s4 $s5 + move $s5 $s4 + move $s4 $s5 + move $s5 $s4 + move $s4 $s5 + lw $s5 0($s4) + lw $s3 0($s5) + move $s5 $s7 + move $s2 $s5 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s4 + move $a1 $s2 + jalr $s3 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $s2 $s5 + move $s5 $s2 + move $s2 $s6 + move $s6 $s2 + move $s2 $s6 + li $s6 1 + move $s3 $s6 + move $s6 $s3 while254_test: - move $s3 $s6 - lw $t0 -224($fp) - move $t0 $s3 - sw $t0 -224($fp) - lw $t0 -240($fp) - lw $t1 -224($fp) - move $t0 $t1 - sw $t1 -224($fp) - sw $t0 -240($fp) - lw $t0 -240($fp) - blez $t0 while254_end - sw $t0 -240($fp) + move $s3 $s6 + lw $t0 -224($fp) + move $t0 $s3 + sw $t0 -224($fp) + lw $t0 -240($fp) + lw $t1 -224($fp) + move $t0 $t1 + sw $t1 -224($fp) + sw $t0 -240($fp) + lw $t0 -240($fp) + blez $t0 while254_end + sw $t0 -240($fp) while254_body: - lw $t0 -208($fp) - move $t0 $s2 - sw $t0 -208($fp) - lw $t0 -208($fp) - move $s2 $t0 - sw $t0 -208($fp) - lw $t0 -220($fp) - lw $t0 0($s2) - sw $t0 -220($fp) - lw $t0 -216($fp) - lw $t1 -220($fp) - lw $t0 20($t1) - sw $t1 -220($fp) - sw $t0 -216($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s2 - lw $t0 -216($fp) - lw $t1 -216($fp) - jalr $t1 - sw $t1 -216($fp) - sw $t0 -216($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -212($fp) - move $t0 $v0 - sw $t0 -212($fp) - lw $t0 -188($fp) - lw $t1 -212($fp) - move $t0 $t1 - sw $t1 -212($fp) - sw $t0 -188($fp) - lw $t0 -236($fp) - lw $t1 -188($fp) - move $t0 $t1 - sw $t1 -188($fp) - sw $t0 -236($fp) - lw $t0 -120($fp) - move $t0 $s7 - sw $t0 -120($fp) - lw $t0 -160($fp) - lw $t1 -236($fp) - move $t0 $t1 - sw $t1 -236($fp) - sw $t0 -160($fp) - lw $t0 -184($fp) - lw $t1 -120($fp) - lw $t2 -160($fp) - move $a0 $t1 - move $t9 $t2 - slt $t0 $a0 $t9 - sw $t2 -160($fp) - sw $t1 -120($fp) - sw $t0 -184($fp) - lw $t0 -152($fp) - lw $t1 -184($fp) - move $t0 $t1 - sw $t1 -184($fp) - sw $t0 -152($fp) - lw $t0 -176($fp) - lw $t1 -152($fp) - move $t0 $t1 - sw $t1 -152($fp) - sw $t0 -176($fp) - lw $t0 -176($fp) - blez $t0 if263_else - sw $t0 -176($fp) + lw $t0 -208($fp) + move $t0 $s2 + sw $t0 -208($fp) + lw $t0 -208($fp) + move $s2 $t0 + sw $t0 -208($fp) + lw $t0 -220($fp) + lw $t0 0($s2) + sw $t0 -220($fp) + lw $t0 -216($fp) + lw $t1 -220($fp) + lw $t0 20($t1) + sw $t1 -220($fp) + sw $t0 -216($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s2 + lw $t0 -216($fp) + lw $t1 -216($fp) + jalr $t1 + sw $t1 -216($fp) + sw $t0 -216($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -212($fp) + move $t0 $v0 + sw $t0 -212($fp) + lw $t0 -188($fp) + lw $t1 -212($fp) + move $t0 $t1 + sw $t1 -212($fp) + sw $t0 -188($fp) + lw $t0 -236($fp) + lw $t1 -188($fp) + move $t0 $t1 + sw $t1 -188($fp) + sw $t0 -236($fp) + lw $t0 -120($fp) + move $t0 $s7 + sw $t0 -120($fp) + lw $t0 -160($fp) + lw $t1 -236($fp) + move $t0 $t1 + sw $t1 -236($fp) + sw $t0 -160($fp) + lw $t0 -184($fp) + lw $t1 -120($fp) + lw $t2 -160($fp) + move $a0 $t1 + move $t9 $t2 + slt $t0 $a0 $t9 + sw $t2 -160($fp) + sw $t1 -120($fp) + sw $t0 -184($fp) + lw $t0 -152($fp) + lw $t1 -184($fp) + move $t0 $t1 + sw $t1 -184($fp) + sw $t0 -152($fp) + lw $t0 -176($fp) + lw $t1 -152($fp) + move $t0 $t1 + sw $t1 -152($fp) + sw $t0 -176($fp) + lw $t0 -176($fp) + blez $t0 if263_else + sw $t0 -176($fp) if263_body: - lw $t0 -136($fp) - move $t0 $s2 - sw $t0 -136($fp) - lw $t0 -136($fp) - move $s2 $t0 - sw $t0 -136($fp) - lw $t0 -132($fp) - lw $t0 0($s2) - sw $t0 -132($fp) - lw $t0 -148($fp) - lw $t1 -132($fp) - lw $t0 32($t1) - sw $t1 -132($fp) - sw $t0 -148($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s2 - lw $t0 -148($fp) - lw $t1 -148($fp) - jalr $t1 - sw $t1 -148($fp) - sw $t0 -148($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -168($fp) - move $t0 $v0 - sw $t0 -168($fp) - lw $t0 -144($fp) - lw $t1 -168($fp) - move $t0 $t1 - sw $t1 -168($fp) - sw $t0 -144($fp) - lw $t0 -112($fp) - lw $t1 -144($fp) - move $t0 $t1 - sw $t1 -144($fp) - sw $t0 -112($fp) - lw $t0 -112($fp) - blez $t0 if268_else - sw $t0 -112($fp) + lw $t0 -136($fp) + move $t0 $s2 + sw $t0 -136($fp) + lw $t0 -136($fp) + move $s2 $t0 + sw $t0 -136($fp) + lw $t0 -132($fp) + lw $t0 0($s2) + sw $t0 -132($fp) + lw $t0 -148($fp) + lw $t1 -132($fp) + lw $t0 32($t1) + sw $t1 -132($fp) + sw $t0 -148($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s2 + lw $t0 -148($fp) + lw $t1 -148($fp) + jalr $t1 + sw $t1 -148($fp) + sw $t0 -148($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -168($fp) + move $t0 $v0 + sw $t0 -168($fp) + lw $t0 -144($fp) + lw $t1 -168($fp) + move $t0 $t1 + sw $t1 -168($fp) + sw $t0 -144($fp) + lw $t0 -112($fp) + lw $t1 -144($fp) + move $t0 $t1 + sw $t1 -144($fp) + sw $t0 -112($fp) + lw $t0 -112($fp) + blez $t0 if268_else + sw $t0 -112($fp) if268_body: - move $t7 $s2 - move $s2 $t7 - lw $t0 -96($fp) - lw $t0 0($s2) - sw $t0 -96($fp) - lw $t0 -88($fp) - lw $t1 -96($fp) - lw $t0 16($t1) - sw $t1 -96($fp) - sw $t0 -88($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s2 - lw $t0 -88($fp) - lw $t1 -88($fp) - jalr $t1 - sw $t1 -88($fp) - sw $t0 -88($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $t5 $v0 - lw $t0 -108($fp) - move $t0 $t5 - sw $t0 -108($fp) - lw $t0 -108($fp) - move $s2 $t0 - sw $t0 -108($fp) - j if268_end + move $t7 $s2 + move $s2 $t7 + lw $t0 -96($fp) + lw $t0 0($s2) + sw $t0 -96($fp) + lw $t0 -88($fp) + lw $t1 -96($fp) + lw $t0 16($t1) + sw $t1 -96($fp) + sw $t0 -88($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s2 + lw $t0 -88($fp) + lw $t1 -88($fp) + jalr $t1 + sw $t1 -88($fp) + sw $t0 -88($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $t5 $v0 + lw $t0 -108($fp) + move $t0 $t5 + sw $t0 -108($fp) + lw $t0 -108($fp) + move $s2 $t0 + sw $t0 -108($fp) + j if268_end if268_else: - lw $t0 -104($fp) - li $t0 0 - sw $t0 -104($fp) - lw $t0 -76($fp) - lw $t1 -104($fp) - move $t0 $t1 - sw $t1 -104($fp) - sw $t0 -76($fp) - lw $t0 -76($fp) - move $s6 $t0 - sw $t0 -76($fp) - lw $t0 -84($fp) - move $t0 $s2 - sw $t0 -84($fp) - lw $t0 -84($fp) - move $s2 $t0 - sw $t0 -84($fp) - lw $t0 -80($fp) - lw $t0 0($s2) - sw $t0 -80($fp) - lw $t0 -248($fp) - lw $t1 -80($fp) - lw $t0 36($t1) - sw $t1 -80($fp) - sw $t0 -248($fp) - lw $t0 -256($fp) - li $t0 1 - sw $t0 -256($fp) - lw $t0 -252($fp) - lw $t1 -256($fp) - move $t0 $t1 - sw $t1 -256($fp) - sw $t0 -252($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s2 - lw $t0 -252($fp) - move $a1 $t0 - sw $t0 -252($fp) - lw $t0 -248($fp) - lw $t1 -248($fp) - jalr $t1 - sw $t1 -248($fp) - sw $t0 -248($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -72($fp) - move $t0 $v0 - sw $t0 -72($fp) - lw $t0 -276($fp) - lw $t1 -72($fp) - move $t0 $t1 - sw $t1 -72($fp) - sw $t0 -276($fp) - lw $t0 -276($fp) - move $s5 $t0 - sw $t0 -276($fp) - lw $t0 -284($fp) - move $t0 $s2 - sw $t0 -284($fp) - lw $t0 -284($fp) - move $s2 $t0 - sw $t0 -284($fp) - lw $t0 -280($fp) - lw $t0 0($s2) - sw $t0 -280($fp) - lw $t0 -264($fp) - lw $t1 -280($fp) - lw $t0 8($t1) - sw $t1 -280($fp) - sw $t0 -264($fp) - lw $t0 -260($fp) - move $t0 $s4 - sw $t0 -260($fp) - lw $t0 -268($fp) - lw $t1 -260($fp) - move $t0 $t1 - sw $t1 -260($fp) - sw $t0 -268($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s2 - lw $t0 -268($fp) - move $a1 $t0 - sw $t0 -268($fp) - lw $t0 -264($fp) - lw $t1 -264($fp) - jalr $t1 - sw $t1 -264($fp) - sw $t0 -264($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -272($fp) - move $t0 $v0 - sw $t0 -272($fp) - lw $t0 -196($fp) - lw $t1 -272($fp) - move $t0 $t1 - sw $t1 -272($fp) - sw $t0 -196($fp) - lw $t0 -196($fp) - move $s5 $t0 - sw $t0 -196($fp) + lw $t0 -104($fp) + li $t0 0 + sw $t0 -104($fp) + lw $t0 -76($fp) + lw $t1 -104($fp) + move $t0 $t1 + sw $t1 -104($fp) + sw $t0 -76($fp) + lw $t0 -76($fp) + move $s6 $t0 + sw $t0 -76($fp) + lw $t0 -84($fp) + move $t0 $s2 + sw $t0 -84($fp) + lw $t0 -84($fp) + move $s2 $t0 + sw $t0 -84($fp) + lw $t0 -80($fp) + lw $t0 0($s2) + sw $t0 -80($fp) + lw $t0 -248($fp) + lw $t1 -80($fp) + lw $t0 36($t1) + sw $t1 -80($fp) + sw $t0 -248($fp) + lw $t0 -256($fp) + li $t0 1 + sw $t0 -256($fp) + lw $t0 -252($fp) + lw $t1 -256($fp) + move $t0 $t1 + sw $t1 -256($fp) + sw $t0 -252($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s2 + lw $t0 -252($fp) + move $a1 $t0 + sw $t0 -252($fp) + lw $t0 -248($fp) + lw $t1 -248($fp) + jalr $t1 + sw $t1 -248($fp) + sw $t0 -248($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -72($fp) + move $t0 $v0 + sw $t0 -72($fp) + lw $t0 -276($fp) + lw $t1 -72($fp) + move $t0 $t1 + sw $t1 -72($fp) + sw $t0 -276($fp) + lw $t0 -276($fp) + move $s5 $t0 + sw $t0 -276($fp) + lw $t0 -284($fp) + move $t0 $s2 + sw $t0 -284($fp) + lw $t0 -284($fp) + move $s2 $t0 + sw $t0 -284($fp) + lw $t0 -280($fp) + lw $t0 0($s2) + sw $t0 -280($fp) + lw $t0 -264($fp) + lw $t1 -280($fp) + lw $t0 8($t1) + sw $t1 -280($fp) + sw $t0 -264($fp) + lw $t0 -260($fp) + move $t0 $s4 + sw $t0 -260($fp) + lw $t0 -268($fp) + lw $t1 -260($fp) + move $t0 $t1 + sw $t1 -260($fp) + sw $t0 -268($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s2 + lw $t0 -268($fp) + move $a1 $t0 + sw $t0 -268($fp) + lw $t0 -264($fp) + lw $t1 -264($fp) + jalr $t1 + sw $t1 -264($fp) + sw $t0 -264($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -272($fp) + move $t0 $v0 + sw $t0 -272($fp) + lw $t0 -196($fp) + lw $t1 -272($fp) + move $t0 $t1 + sw $t1 -272($fp) + sw $t0 -196($fp) + lw $t0 -196($fp) + move $s5 $t0 + sw $t0 -196($fp) if268_end: - j if263_end + j if263_end if263_else: - lw $t0 -204($fp) - move $t0 $s2 - sw $t0 -204($fp) - lw $t0 -204($fp) - move $s2 $t0 - sw $t0 -204($fp) - lw $t0 -200($fp) - lw $t0 0($s2) - sw $t0 -200($fp) - lw $t0 -232($fp) - lw $t1 -200($fp) - lw $t0 28($t1) - sw $t1 -200($fp) - sw $t0 -232($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s2 - lw $t0 -232($fp) - lw $t1 -232($fp) - jalr $t1 - sw $t1 -232($fp) - sw $t0 -232($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -192($fp) - move $t0 $v0 - sw $t0 -192($fp) - lw $t0 -228($fp) - lw $t1 -192($fp) - move $t0 $t1 - sw $t1 -192($fp) - sw $t0 -228($fp) - lw $t0 -244($fp) - lw $t1 -228($fp) - move $t0 $t1 - sw $t1 -228($fp) - sw $t0 -244($fp) - lw $t0 -244($fp) - blez $t0 if295_else - sw $t0 -244($fp) + lw $t0 -204($fp) + move $t0 $s2 + sw $t0 -204($fp) + lw $t0 -204($fp) + move $s2 $t0 + sw $t0 -204($fp) + lw $t0 -200($fp) + lw $t0 0($s2) + sw $t0 -200($fp) + lw $t0 -232($fp) + lw $t1 -200($fp) + lw $t0 28($t1) + sw $t1 -200($fp) + sw $t0 -232($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s2 + lw $t0 -232($fp) + lw $t1 -232($fp) + jalr $t1 + sw $t1 -232($fp) + sw $t0 -232($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -192($fp) + move $t0 $v0 + sw $t0 -192($fp) + lw $t0 -228($fp) + lw $t1 -192($fp) + move $t0 $t1 + sw $t1 -192($fp) + sw $t0 -228($fp) + lw $t0 -244($fp) + lw $t1 -228($fp) + move $t0 $t1 + sw $t1 -228($fp) + sw $t0 -244($fp) + lw $t0 -244($fp) + blez $t0 if295_else + sw $t0 -244($fp) if295_body: - move $t3 $s2 - move $s2 $t3 - lw $t3 0($s2) - lw $t4 12($t3) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s2 - jalr $t4 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $t3 $v0 - move $t4 $t3 - move $s2 $t4 - j if295_end + move $t3 $s2 + move $s2 $t3 + lw $t3 0($s2) + lw $t4 12($t3) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s2 + jalr $t4 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $t3 $v0 + move $t4 $t3 + move $s2 $t4 + j if295_end if295_else: - lw $t0 -116($fp) - li $t0 0 - sw $t0 -116($fp) - lw $t0 -128($fp) - lw $t1 -116($fp) - move $t0 $t1 - sw $t1 -116($fp) - sw $t0 -128($fp) - lw $t0 -128($fp) - move $s6 $t0 - sw $t0 -128($fp) - lw $t0 -164($fp) - move $t0 $s2 - sw $t0 -164($fp) - lw $t0 -164($fp) - move $s2 $t0 - sw $t0 -164($fp) - lw $t0 -156($fp) - lw $t0 0($s2) - sw $t0 -156($fp) - lw $t0 -180($fp) - lw $t1 -156($fp) - lw $t0 40($t1) - sw $t1 -156($fp) - sw $t0 -180($fp) - lw $t0 -172($fp) - li $t0 1 - sw $t0 -172($fp) - lw $t0 -140($fp) - lw $t1 -172($fp) - move $t0 $t1 - sw $t1 -172($fp) - sw $t0 -140($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s2 - lw $t0 -140($fp) - move $a1 $t0 - sw $t0 -140($fp) - lw $t0 -180($fp) - lw $t1 -180($fp) - jalr $t1 - sw $t1 -180($fp) - sw $t0 -180($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -124($fp) - move $t0 $v0 - sw $t0 -124($fp) - lw $t0 -68($fp) - lw $t1 -124($fp) - move $t0 $t1 - sw $t1 -124($fp) - sw $t0 -68($fp) - lw $t0 -68($fp) - move $s5 $t0 - sw $t0 -68($fp) - move $s0 $s2 - move $s2 $s0 - lw $s1 0($s2) - lw $t0 -292($fp) - lw $t0 4($s1) - sw $t0 -292($fp) - move $t6 $s4 - lw $t0 -100($fp) - move $t0 $t6 - sw $t0 -100($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s2 - lw $t0 -100($fp) - move $a1 $t0 - sw $t0 -100($fp) - lw $t0 -292($fp) - lw $t1 -292($fp) - jalr $t1 - sw $t1 -292($fp) - sw $t0 -292($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -288($fp) - move $t0 $v0 - sw $t0 -288($fp) - lw $t0 -92($fp) - lw $t1 -288($fp) - move $t0 $t1 - sw $t1 -288($fp) - sw $t0 -92($fp) - lw $t0 -92($fp) - move $s5 $t0 - sw $t0 -92($fp) + lw $t0 -116($fp) + li $t0 0 + sw $t0 -116($fp) + lw $t0 -128($fp) + lw $t1 -116($fp) + move $t0 $t1 + sw $t1 -116($fp) + sw $t0 -128($fp) + lw $t0 -128($fp) + move $s6 $t0 + sw $t0 -128($fp) + lw $t0 -164($fp) + move $t0 $s2 + sw $t0 -164($fp) + lw $t0 -164($fp) + move $s2 $t0 + sw $t0 -164($fp) + lw $t0 -156($fp) + lw $t0 0($s2) + sw $t0 -156($fp) + lw $t0 -180($fp) + lw $t1 -156($fp) + lw $t0 40($t1) + sw $t1 -156($fp) + sw $t0 -180($fp) + lw $t0 -172($fp) + li $t0 1 + sw $t0 -172($fp) + lw $t0 -140($fp) + lw $t1 -172($fp) + move $t0 $t1 + sw $t1 -172($fp) + sw $t0 -140($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s2 + lw $t0 -140($fp) + move $a1 $t0 + sw $t0 -140($fp) + lw $t0 -180($fp) + lw $t1 -180($fp) + jalr $t1 + sw $t1 -180($fp) + sw $t0 -180($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -124($fp) + move $t0 $v0 + sw $t0 -124($fp) + lw $t0 -68($fp) + lw $t1 -124($fp) + move $t0 $t1 + sw $t1 -124($fp) + sw $t0 -68($fp) + lw $t0 -68($fp) + move $s5 $t0 + sw $t0 -68($fp) + move $s0 $s2 + move $s2 $s0 + lw $s1 0($s2) + lw $t0 -292($fp) + lw $t0 4($s1) + sw $t0 -292($fp) + move $t6 $s4 + lw $t0 -100($fp) + move $t0 $t6 + sw $t0 -100($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s2 + lw $t0 -100($fp) + move $a1 $t0 + sw $t0 -100($fp) + lw $t0 -292($fp) + lw $t1 -292($fp) + jalr $t1 + sw $t1 -292($fp) + sw $t0 -292($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -288($fp) + move $t0 $v0 + sw $t0 -288($fp) + lw $t0 -92($fp) + lw $t1 -288($fp) + move $t0 $t1 + sw $t1 -288($fp) + sw $t0 -92($fp) + lw $t0 -92($fp) + move $s5 $t0 + sw $t0 -92($fp) if295_end: if263_end: - j while254_test + j while254_test while254_end: - li $t5 1 - move $t6 $t5 - move $t5 $t6 - move $v0 $t5 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 292 - jr $ra + li $t5 1 + move $t6 $t5 + move $t5 $t6 + move $v0 $t5 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 292 + jr $ra Tree_Delete: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 372 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s6 $a0 - move $s7 $a1 - move $s5 $s6 - move $s4 $s5 - move $s5 $s4 - move $s4 $s6 - move $s3 $s4 - move $s4 $s3 - li $s3 1 - move $s2 $s3 - move $s3 $s2 - li $s2 0 - move $s1 $s2 - lw $t0 -68($fp) - move $t0 $s1 - sw $t0 -68($fp) - li $s1 1 - move $s0 $s1 - move $s1 $s0 + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 372 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s6 $a0 + move $s7 $a1 + move $s5 $s6 + move $s4 $s5 + move $s5 $s4 + move $s4 $s6 + move $s3 $s4 + move $s4 $s3 + li $s3 1 + move $s2 $s3 + move $s3 $s2 + li $s2 0 + move $s1 $s2 + lw $t0 -68($fp) + move $t0 $s1 + sw $t0 -68($fp) + li $s1 1 + move $s0 $s1 + move $s1 $s0 while335_test: - move $s0 $s3 - lw $t0 -304($fp) - move $t0 $s0 - sw $t0 -304($fp) - lw $t0 -308($fp) - lw $t1 -304($fp) - move $t0 $t1 - sw $t1 -304($fp) - sw $t0 -308($fp) - lw $t0 -308($fp) - blez $t0 while335_end - sw $t0 -308($fp) + move $s0 $s3 + lw $t0 -304($fp) + move $t0 $s0 + sw $t0 -304($fp) + lw $t0 -308($fp) + lw $t1 -304($fp) + move $t0 $t1 + sw $t1 -304($fp) + sw $t0 -308($fp) + lw $t0 -308($fp) + blez $t0 while335_end + sw $t0 -308($fp) while335_body: - lw $t0 -300($fp) - move $t0 $s5 - sw $t0 -300($fp) - lw $t0 -300($fp) - move $s5 $t0 - sw $t0 -300($fp) - lw $t0 -296($fp) - lw $t0 0($s5) - sw $t0 -296($fp) - lw $t0 -276($fp) - lw $t1 -296($fp) - lw $t0 20($t1) - sw $t1 -296($fp) - sw $t0 -276($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s5 - lw $t0 -276($fp) - lw $t1 -276($fp) - jalr $t1 - sw $t1 -276($fp) - sw $t0 -276($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -288($fp) - move $t0 $v0 - sw $t0 -288($fp) - lw $t0 -272($fp) - lw $t1 -288($fp) - move $t0 $t1 - sw $t1 -288($fp) - sw $t0 -272($fp) - lw $t0 -292($fp) - lw $t1 -272($fp) - move $t0 $t1 - sw $t1 -272($fp) - sw $t0 -292($fp) - lw $t0 -280($fp) - move $t0 $s7 - sw $t0 -280($fp) - lw $t0 -168($fp) - lw $t1 -292($fp) - move $t0 $t1 - sw $t1 -292($fp) - sw $t0 -168($fp) - lw $t0 -284($fp) - lw $t1 -280($fp) - lw $t2 -168($fp) - move $a0 $t1 - move $t9 $t2 - slt $t0 $a0 $t9 - sw $t2 -168($fp) - sw $t1 -280($fp) - sw $t0 -284($fp) - lw $t0 -164($fp) - lw $t1 -284($fp) - move $t0 $t1 - sw $t1 -284($fp) - sw $t0 -164($fp) - lw $t0 -128($fp) - lw $t1 -164($fp) - move $t0 $t1 - sw $t1 -164($fp) - sw $t0 -128($fp) - lw $t0 -128($fp) - blez $t0 if344_else - sw $t0 -128($fp) + lw $t0 -300($fp) + move $t0 $s5 + sw $t0 -300($fp) + lw $t0 -300($fp) + move $s5 $t0 + sw $t0 -300($fp) + lw $t0 -296($fp) + lw $t0 0($s5) + sw $t0 -296($fp) + lw $t0 -276($fp) + lw $t1 -296($fp) + lw $t0 20($t1) + sw $t1 -296($fp) + sw $t0 -276($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s5 + lw $t0 -276($fp) + lw $t1 -276($fp) + jalr $t1 + sw $t1 -276($fp) + sw $t0 -276($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -288($fp) + move $t0 $v0 + sw $t0 -288($fp) + lw $t0 -272($fp) + lw $t1 -288($fp) + move $t0 $t1 + sw $t1 -288($fp) + sw $t0 -272($fp) + lw $t0 -292($fp) + lw $t1 -272($fp) + move $t0 $t1 + sw $t1 -272($fp) + sw $t0 -292($fp) + lw $t0 -280($fp) + move $t0 $s7 + sw $t0 -280($fp) + lw $t0 -168($fp) + lw $t1 -292($fp) + move $t0 $t1 + sw $t1 -292($fp) + sw $t0 -168($fp) + lw $t0 -284($fp) + lw $t1 -280($fp) + lw $t2 -168($fp) + move $a0 $t1 + move $t9 $t2 + slt $t0 $a0 $t9 + sw $t2 -168($fp) + sw $t1 -280($fp) + sw $t0 -284($fp) + lw $t0 -164($fp) + lw $t1 -284($fp) + move $t0 $t1 + sw $t1 -284($fp) + sw $t0 -164($fp) + lw $t0 -128($fp) + lw $t1 -164($fp) + move $t0 $t1 + sw $t1 -164($fp) + sw $t0 -128($fp) + lw $t0 -128($fp) + blez $t0 if344_else + sw $t0 -128($fp) if344_body: - lw $t0 -148($fp) - move $t0 $s5 - sw $t0 -148($fp) - lw $t0 -148($fp) - move $s5 $t0 - sw $t0 -148($fp) - lw $t0 -160($fp) - lw $t0 0($s5) - sw $t0 -160($fp) - lw $t0 -156($fp) - lw $t1 -160($fp) - lw $t0 32($t1) - sw $t1 -160($fp) - sw $t0 -156($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s5 - lw $t0 -156($fp) - lw $t1 -156($fp) - jalr $t1 - sw $t1 -156($fp) - sw $t0 -156($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -152($fp) - move $t0 $v0 - sw $t0 -152($fp) - lw $t0 -136($fp) - lw $t1 -152($fp) - move $t0 $t1 - sw $t1 -152($fp) - sw $t0 -136($fp) - lw $t0 -132($fp) - lw $t1 -136($fp) - move $t0 $t1 - sw $t1 -136($fp) - sw $t0 -132($fp) - lw $t0 -132($fp) - blez $t0 if349_else - sw $t0 -132($fp) + lw $t0 -148($fp) + move $t0 $s5 + sw $t0 -148($fp) + lw $t0 -148($fp) + move $s5 $t0 + sw $t0 -148($fp) + lw $t0 -160($fp) + lw $t0 0($s5) + sw $t0 -160($fp) + lw $t0 -156($fp) + lw $t1 -160($fp) + lw $t0 32($t1) + sw $t1 -160($fp) + sw $t0 -156($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s5 + lw $t0 -156($fp) + lw $t1 -156($fp) + jalr $t1 + sw $t1 -156($fp) + sw $t0 -156($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -152($fp) + move $t0 $v0 + sw $t0 -152($fp) + lw $t0 -136($fp) + lw $t1 -152($fp) + move $t0 $t1 + sw $t1 -152($fp) + sw $t0 -136($fp) + lw $t0 -132($fp) + lw $t1 -136($fp) + move $t0 $t1 + sw $t1 -136($fp) + sw $t0 -132($fp) + lw $t0 -132($fp) + blez $t0 if349_else + sw $t0 -132($fp) if349_body: - lw $t0 -144($fp) - move $t0 $s5 - sw $t0 -144($fp) - lw $t0 -140($fp) - lw $t1 -144($fp) - move $t0 $t1 - sw $t1 -144($fp) - sw $t0 -140($fp) - lw $t0 -140($fp) - move $s4 $t0 - sw $t0 -140($fp) - lw $t0 -372($fp) - move $t0 $s5 - sw $t0 -372($fp) - lw $t0 -372($fp) - move $s5 $t0 - sw $t0 -372($fp) - lw $t5 0($s5) - lw $t0 -108($fp) - lw $t0 16($t5) - sw $t0 -108($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s5 - lw $t0 -108($fp) - lw $t1 -108($fp) - jalr $t1 - sw $t1 -108($fp) - sw $t0 -108($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -124($fp) - move $t0 $v0 - sw $t0 -124($fp) - lw $t0 -104($fp) - lw $t1 -124($fp) - move $t0 $t1 - sw $t1 -124($fp) - sw $t0 -104($fp) - lw $t0 -104($fp) - move $s5 $t0 - sw $t0 -104($fp) - j if349_end + lw $t0 -144($fp) + move $t0 $s5 + sw $t0 -144($fp) + lw $t0 -140($fp) + lw $t1 -144($fp) + move $t0 $t1 + sw $t1 -144($fp) + sw $t0 -140($fp) + lw $t0 -140($fp) + move $s4 $t0 + sw $t0 -140($fp) + lw $t0 -372($fp) + move $t0 $s5 + sw $t0 -372($fp) + lw $t0 -372($fp) + move $s5 $t0 + sw $t0 -372($fp) + lw $t5 0($s5) + lw $t0 -108($fp) + lw $t0 16($t5) + sw $t0 -108($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s5 + lw $t0 -108($fp) + lw $t1 -108($fp) + jalr $t1 + sw $t1 -108($fp) + sw $t0 -108($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -124($fp) + move $t0 $v0 + sw $t0 -124($fp) + lw $t0 -104($fp) + lw $t1 -124($fp) + move $t0 $t1 + sw $t1 -124($fp) + sw $t0 -104($fp) + lw $t0 -104($fp) + move $s5 $t0 + sw $t0 -104($fp) + j if349_end if349_else: - lw $t0 -116($fp) - li $t0 0 - sw $t0 -116($fp) - lw $t0 -112($fp) - lw $t1 -116($fp) - move $t0 $t1 - sw $t1 -116($fp) - sw $t0 -112($fp) - lw $t0 -112($fp) - move $s3 $t0 - sw $t0 -112($fp) + lw $t0 -116($fp) + li $t0 0 + sw $t0 -116($fp) + lw $t0 -112($fp) + lw $t1 -116($fp) + move $t0 $t1 + sw $t1 -116($fp) + sw $t0 -112($fp) + lw $t0 -112($fp) + move $s3 $t0 + sw $t0 -112($fp) if349_end: - j if344_end + j if344_end if344_else: - lw $t0 -88($fp) - lw $t1 -292($fp) - move $t0 $t1 - sw $t1 -292($fp) - sw $t0 -88($fp) - lw $t0 -100($fp) - move $t0 $s7 - sw $t0 -100($fp) - lw $t0 -92($fp) - lw $t1 -88($fp) - lw $t2 -100($fp) - move $a0 $t1 - move $t9 $t2 - slt $t0 $a0 $t9 - sw $t2 -100($fp) - sw $t1 -88($fp) - sw $t0 -92($fp) - lw $t0 -96($fp) - lw $t1 -92($fp) - move $t0 $t1 - sw $t1 -92($fp) - sw $t0 -96($fp) - lw $t0 -188($fp) - lw $t1 -96($fp) - move $t0 $t1 - sw $t1 -96($fp) - sw $t0 -188($fp) - lw $t0 -188($fp) - blez $t0 if364_else - sw $t0 -188($fp) + lw $t0 -88($fp) + lw $t1 -292($fp) + move $t0 $t1 + sw $t1 -292($fp) + sw $t0 -88($fp) + lw $t0 -100($fp) + move $t0 $s7 + sw $t0 -100($fp) + lw $t0 -92($fp) + lw $t1 -88($fp) + lw $t2 -100($fp) + move $a0 $t1 + move $t9 $t2 + slt $t0 $a0 $t9 + sw $t2 -100($fp) + sw $t1 -88($fp) + sw $t0 -92($fp) + lw $t0 -96($fp) + lw $t1 -92($fp) + move $t0 $t1 + sw $t1 -92($fp) + sw $t0 -96($fp) + lw $t0 -188($fp) + lw $t1 -96($fp) + move $t0 $t1 + sw $t1 -96($fp) + sw $t0 -188($fp) + lw $t0 -188($fp) + blez $t0 if364_else + sw $t0 -188($fp) if364_body: - move $s2 $s5 - move $s5 $s2 - lw $s2 0($s5) - lw $t3 28($s2) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s5 - jalr $t3 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s2 $v0 - move $t3 $s2 - move $s2 $t3 - blez $s2 if369_else + move $s2 $s5 + move $s5 $s2 + lw $s2 0($s5) + lw $t3 28($s2) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s5 + jalr $t3 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s2 $v0 + move $t3 $s2 + move $s2 $t3 + blez $s2 if369_else if369_body: - move $s2 $s5 - move $t3 $s2 - move $s4 $t3 - move $t3 $s5 - move $s5 $t3 - lw $t3 0($s5) - lw $s2 12($t3) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s5 - jalr $s2 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $t3 $v0 - move $s2 $t3 - move $s5 $s2 - j if369_end + move $s2 $s5 + move $t3 $s2 + move $s4 $t3 + move $t3 $s5 + move $s5 $t3 + lw $t3 0($s5) + lw $s2 12($t3) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s5 + jalr $s2 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $t3 $v0 + move $s2 $t3 + move $s5 $s2 + j if369_end if369_else: - li $s2 0 - move $t3 $s2 - move $s3 $t3 + li $s2 0 + move $t3 $s2 + move $s3 $t3 if369_end: - j if364_end + j if364_end if364_else: - lw $t0 -184($fp) - move $t0 $s1 - sw $t0 -184($fp) - lw $t0 -180($fp) - lw $t1 -184($fp) - move $t0 $t1 - sw $t1 -184($fp) - sw $t0 -180($fp) - lw $t0 -176($fp) - lw $t1 -180($fp) - move $t0 $t1 - sw $t1 -180($fp) - sw $t0 -176($fp) - lw $t0 -176($fp) - blez $t0 if384_else - sw $t0 -176($fp) + lw $t0 -184($fp) + move $t0 $s1 + sw $t0 -184($fp) + lw $t0 -180($fp) + lw $t1 -184($fp) + move $t0 $t1 + sw $t1 -184($fp) + sw $t0 -180($fp) + lw $t0 -176($fp) + lw $t1 -180($fp) + move $t0 $t1 + sw $t1 -180($fp) + sw $t0 -176($fp) + lw $t0 -176($fp) + blez $t0 if384_else + sw $t0 -176($fp) if384_body: - lw $t0 -232($fp) - move $t0 $s5 - sw $t0 -232($fp) - lw $t0 -232($fp) - move $s5 $t0 - sw $t0 -232($fp) - lw $t0 -244($fp) - lw $t0 0($s5) - sw $t0 -244($fp) - lw $t0 -240($fp) - lw $t1 -244($fp) - lw $t0 28($t1) - sw $t1 -244($fp) - sw $t0 -240($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s5 - lw $t0 -240($fp) - lw $t1 -240($fp) - jalr $t1 - sw $t1 -240($fp) - sw $t0 -240($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -236($fp) - move $t0 $v0 - sw $t0 -236($fp) - lw $t0 -260($fp) - lw $t1 -236($fp) - move $t0 $t1 - sw $t1 -236($fp) - sw $t0 -260($fp) - lw $t0 -248($fp) - lw $t1 -260($fp) - move $a0 $t1 - li $t9 0 - seq $t0 $a0 $t9 - sw $t1 -260($fp) - sw $t0 -248($fp) - lw $t0 -256($fp) - lw $t1 -248($fp) - move $t0 $t1 - sw $t1 -248($fp) - sw $t0 -256($fp) - lw $t0 -252($fp) - move $t0 $s5 - sw $t0 -252($fp) - lw $t0 -252($fp) - move $s5 $t0 - sw $t0 -252($fp) - lw $t0 -212($fp) - lw $t0 0($s5) - sw $t0 -212($fp) - lw $t0 -208($fp) - lw $t1 -212($fp) - lw $t0 32($t1) - sw $t1 -212($fp) - sw $t0 -208($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s5 - lw $t0 -208($fp) - lw $t1 -208($fp) - jalr $t1 - sw $t1 -208($fp) - sw $t0 -208($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -264($fp) - move $t0 $v0 - sw $t0 -264($fp) - lw $t0 -196($fp) - lw $t1 -264($fp) - move $t0 $t1 - sw $t1 -264($fp) - sw $t0 -196($fp) - lw $t0 -268($fp) - lw $t1 -196($fp) - move $a0 $t1 - li $t9 0 - seq $t0 $a0 $t9 - sw $t1 -196($fp) - sw $t0 -268($fp) - lw $t0 -192($fp) - lw $t1 -268($fp) - move $t0 $t1 - sw $t1 -268($fp) - sw $t0 -192($fp) - lw $t0 -204($fp) - lw $t1 -256($fp) - li $a0 1 - move $t9 $t1 - seq $t0 $a0 $t9 - sw $t1 -256($fp) - sw $t0 -204($fp) - lw $t0 -200($fp) - lw $t1 -192($fp) - li $a0 1 - move $t9 $t1 - seq $t0 $a0 $t9 - sw $t1 -192($fp) - sw $t0 -200($fp) - lw $t0 -172($fp) - lw $t1 -204($fp) - lw $t2 -200($fp) - move $a0 $t1 - move $t9 $t2 - seq $t0 $a0 $t9 - sw $t2 -200($fp) - sw $t1 -204($fp) - sw $t0 -172($fp) - lw $t0 -220($fp) - lw $t1 -172($fp) - move $t0 $t1 - sw $t1 -172($fp) - sw $t0 -220($fp) - lw $t0 -216($fp) - lw $t1 -220($fp) - move $t0 $t1 - sw $t1 -220($fp) - sw $t0 -216($fp) - lw $t0 -216($fp) - blez $t0 if387_else - sw $t0 -216($fp) + lw $t0 -232($fp) + move $t0 $s5 + sw $t0 -232($fp) + lw $t0 -232($fp) + move $s5 $t0 + sw $t0 -232($fp) + lw $t0 -244($fp) + lw $t0 0($s5) + sw $t0 -244($fp) + lw $t0 -240($fp) + lw $t1 -244($fp) + lw $t0 28($t1) + sw $t1 -244($fp) + sw $t0 -240($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s5 + lw $t0 -240($fp) + lw $t1 -240($fp) + jalr $t1 + sw $t1 -240($fp) + sw $t0 -240($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -236($fp) + move $t0 $v0 + sw $t0 -236($fp) + lw $t0 -260($fp) + lw $t1 -236($fp) + move $t0 $t1 + sw $t1 -236($fp) + sw $t0 -260($fp) + lw $t0 -248($fp) + lw $t1 -260($fp) + move $a0 $t1 + li $t9 0 + seq $t0 $a0 $t9 + sw $t1 -260($fp) + sw $t0 -248($fp) + lw $t0 -256($fp) + lw $t1 -248($fp) + move $t0 $t1 + sw $t1 -248($fp) + sw $t0 -256($fp) + lw $t0 -252($fp) + move $t0 $s5 + sw $t0 -252($fp) + lw $t0 -252($fp) + move $s5 $t0 + sw $t0 -252($fp) + lw $t0 -212($fp) + lw $t0 0($s5) + sw $t0 -212($fp) + lw $t0 -208($fp) + lw $t1 -212($fp) + lw $t0 32($t1) + sw $t1 -212($fp) + sw $t0 -208($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s5 + lw $t0 -208($fp) + lw $t1 -208($fp) + jalr $t1 + sw $t1 -208($fp) + sw $t0 -208($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -264($fp) + move $t0 $v0 + sw $t0 -264($fp) + lw $t0 -196($fp) + lw $t1 -264($fp) + move $t0 $t1 + sw $t1 -264($fp) + sw $t0 -196($fp) + lw $t0 -268($fp) + lw $t1 -196($fp) + move $a0 $t1 + li $t9 0 + seq $t0 $a0 $t9 + sw $t1 -196($fp) + sw $t0 -268($fp) + lw $t0 -192($fp) + lw $t1 -268($fp) + move $t0 $t1 + sw $t1 -268($fp) + sw $t0 -192($fp) + lw $t0 -204($fp) + lw $t1 -256($fp) + li $a0 1 + move $t9 $t1 + seq $t0 $a0 $t9 + sw $t1 -256($fp) + sw $t0 -204($fp) + lw $t0 -200($fp) + lw $t1 -192($fp) + li $a0 1 + move $t9 $t1 + seq $t0 $a0 $t9 + sw $t1 -192($fp) + sw $t0 -200($fp) + lw $t0 -172($fp) + lw $t1 -204($fp) + lw $t2 -200($fp) + move $a0 $t1 + move $t9 $t2 + seq $t0 $a0 $t9 + sw $t2 -200($fp) + sw $t1 -204($fp) + sw $t0 -172($fp) + lw $t0 -220($fp) + lw $t1 -172($fp) + move $t0 $t1 + sw $t1 -172($fp) + sw $t0 -220($fp) + lw $t0 -216($fp) + lw $t1 -220($fp) + move $t0 $t1 + sw $t1 -220($fp) + sw $t0 -216($fp) + lw $t0 -216($fp) + blez $t0 if387_else + sw $t0 -216($fp) if387_body: - lw $t0 -224($fp) - li $t0 1 - sw $t0 -224($fp) - lw $t0 -332($fp) - lw $t1 -224($fp) - move $t0 $t1 - sw $t1 -224($fp) - sw $t0 -332($fp) - lw $t0 -228($fp) - lw $t1 -332($fp) - move $t0 $t1 - sw $t1 -332($fp) - sw $t0 -228($fp) - j if387_end + lw $t0 -224($fp) + li $t0 1 + sw $t0 -224($fp) + lw $t0 -332($fp) + lw $t1 -224($fp) + move $t0 $t1 + sw $t1 -224($fp) + sw $t0 -332($fp) + lw $t0 -228($fp) + lw $t1 -332($fp) + move $t0 $t1 + sw $t1 -332($fp) + sw $t0 -228($fp) + j if387_end if387_else: - lw $t0 -336($fp) - move $t0 $s6 - sw $t0 -336($fp) - lw $t0 -320($fp) - lw $t0 0($s6) - sw $t0 -320($fp) - lw $t0 -316($fp) - move $t0 $s4 - sw $t0 -316($fp) - lw $t0 -328($fp) - lw $t1 -316($fp) - move $t0 $t1 - sw $t1 -316($fp) - sw $t0 -328($fp) - lw $t0 -324($fp) - move $t0 $s5 - sw $t0 -324($fp) - lw $t0 -348($fp) - lw $t1 -324($fp) - move $t0 $t1 - sw $t1 -324($fp) - sw $t0 -348($fp) - lw $t0 -320($fp) - lw $t1 -320($fp) - lw $t0 56($t1) - sw $t1 -320($fp) - sw $t0 -320($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s6 - lw $t0 -328($fp) - move $a1 $t0 - sw $t0 -328($fp) - lw $t0 -348($fp) - move $a2 $t0 - sw $t0 -348($fp) - lw $t0 -320($fp) - lw $t1 -320($fp) - jalr $t1 - sw $t1 -320($fp) - sw $t0 -320($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -340($fp) - move $t0 $v0 - sw $t0 -340($fp) - lw $t0 -344($fp) - lw $t1 -340($fp) - move $t0 $t1 - sw $t1 -340($fp) - sw $t0 -344($fp) - lw $t0 -228($fp) - lw $t1 -344($fp) - move $t0 $t1 - sw $t1 -344($fp) - sw $t0 -228($fp) + lw $t0 -336($fp) + move $t0 $s6 + sw $t0 -336($fp) + lw $t0 -320($fp) + lw $t0 0($s6) + sw $t0 -320($fp) + lw $t0 -316($fp) + move $t0 $s4 + sw $t0 -316($fp) + lw $t0 -328($fp) + lw $t1 -316($fp) + move $t0 $t1 + sw $t1 -316($fp) + sw $t0 -328($fp) + lw $t0 -324($fp) + move $t0 $s5 + sw $t0 -324($fp) + lw $t0 -348($fp) + lw $t1 -324($fp) + move $t0 $t1 + sw $t1 -324($fp) + sw $t0 -348($fp) + lw $t0 -320($fp) + lw $t1 -320($fp) + lw $t0 56($t1) + sw $t1 -320($fp) + sw $t0 -320($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s6 + lw $t0 -328($fp) + move $a1 $t0 + sw $t0 -328($fp) + lw $t0 -348($fp) + move $a2 $t0 + sw $t0 -348($fp) + lw $t0 -320($fp) + lw $t1 -320($fp) + jalr $t1 + sw $t1 -320($fp) + sw $t0 -320($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -340($fp) + move $t0 $v0 + sw $t0 -340($fp) + lw $t0 -344($fp) + lw $t1 -340($fp) + move $t0 $t1 + sw $t1 -340($fp) + sw $t0 -344($fp) + lw $t0 -228($fp) + lw $t1 -344($fp) + move $t0 $t1 + sw $t1 -344($fp) + sw $t0 -228($fp) if387_end: - j if384_end + j if384_end if384_else: - lw $t0 -120($fp) - move $t0 $s6 - sw $t0 -120($fp) - lw $t7 0($s6) - move $t6 $s4 - move $t4 $t6 - lw $t0 -368($fp) - move $t0 $s5 - sw $t0 -368($fp) - lw $t0 -72($fp) - lw $t1 -368($fp) - move $t0 $t1 - sw $t1 -368($fp) - sw $t0 -72($fp) - lw $t7 56($t7) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s6 - move $a1 $t4 - lw $t0 -72($fp) - move $a2 $t0 - sw $t0 -72($fp) - jalr $t7 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -360($fp) - move $t0 $v0 - sw $t0 -360($fp) - lw $t0 -76($fp) - lw $t1 -360($fp) - move $t0 $t1 - sw $t1 -360($fp) - sw $t0 -76($fp) - lw $t0 -228($fp) - lw $t1 -76($fp) - move $t0 $t1 - sw $t1 -76($fp) - sw $t0 -228($fp) + lw $t0 -120($fp) + move $t0 $s6 + sw $t0 -120($fp) + lw $t7 0($s6) + move $t6 $s4 + move $t4 $t6 + lw $t0 -368($fp) + move $t0 $s5 + sw $t0 -368($fp) + lw $t0 -72($fp) + lw $t1 -368($fp) + move $t0 $t1 + sw $t1 -368($fp) + sw $t0 -72($fp) + lw $t7 56($t7) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s6 + move $a1 $t4 + lw $t0 -72($fp) + move $a2 $t0 + sw $t0 -72($fp) + jalr $t7 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -360($fp) + move $t0 $v0 + sw $t0 -360($fp) + lw $t0 -76($fp) + lw $t1 -360($fp) + move $t0 $t1 + sw $t1 -360($fp) + sw $t0 -76($fp) + lw $t0 -228($fp) + lw $t1 -76($fp) + move $t0 $t1 + sw $t1 -76($fp) + sw $t0 -228($fp) if384_end: - lw $t0 -80($fp) - li $t0 1 - sw $t0 -80($fp) - lw $t0 -84($fp) - lw $t1 -80($fp) - move $t0 $t1 - sw $t1 -80($fp) - sw $t0 -84($fp) - lw $t0 -68($fp) - lw $t1 -84($fp) - move $t0 $t1 - sw $t1 -84($fp) - sw $t0 -68($fp) - lw $t0 -364($fp) - li $t0 0 - sw $t0 -364($fp) - lw $t0 -352($fp) - lw $t1 -364($fp) - move $t0 $t1 - sw $t1 -364($fp) - sw $t0 -352($fp) - lw $t0 -352($fp) - move $s3 $t0 - sw $t0 -352($fp) + lw $t0 -80($fp) + li $t0 1 + sw $t0 -80($fp) + lw $t0 -84($fp) + lw $t1 -80($fp) + move $t0 $t1 + sw $t1 -80($fp) + sw $t0 -84($fp) + lw $t0 -68($fp) + lw $t1 -84($fp) + move $t0 $t1 + sw $t1 -84($fp) + sw $t0 -68($fp) + lw $t0 -364($fp) + li $t0 0 + sw $t0 -364($fp) + lw $t0 -352($fp) + lw $t1 -364($fp) + move $t0 $t1 + sw $t1 -364($fp) + sw $t0 -352($fp) + lw $t0 -352($fp) + move $s3 $t0 + sw $t0 -352($fp) if364_end: if344_end: - lw $t0 -356($fp) - li $t0 0 - sw $t0 -356($fp) - lw $t0 -312($fp) - lw $t1 -356($fp) - move $t0 $t1 - sw $t1 -356($fp) - sw $t0 -312($fp) - lw $t0 -312($fp) - move $s1 $t0 - sw $t0 -312($fp) - j while335_test + lw $t0 -356($fp) + li $t0 0 + sw $t0 -356($fp) + lw $t0 -312($fp) + lw $t1 -356($fp) + move $t0 $t1 + sw $t1 -356($fp) + sw $t0 -312($fp) + lw $t0 -312($fp) + move $s1 $t0 + sw $t0 -312($fp) + j while335_test while335_end: - lw $t0 -68($fp) - move $t4 $t0 - sw $t0 -68($fp) - move $t5 $t4 - move $t4 $t5 - move $v0 $t4 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 372 - jr $ra + lw $t0 -68($fp) + move $t4 $t0 + sw $t0 -68($fp) + move $t5 $t4 + move $t4 $t5 + move $v0 $t4 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 372 + jr $ra Tree_Remove: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s5 $a0 - move $s6 $a1 - move $s7 $a2 - move $s4 $s7 - move $s7 $s4 - lw $s4 0($s7) - lw $s3 32($s4) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s3 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s4 $v0 - move $s3 $s4 - move $s4 $s3 - blez $s4 if433_else + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s5 $a0 + move $s6 $a1 + move $s7 $a2 + move $s4 $s7 + move $s7 $s4 + lw $s4 0($s7) + lw $s3 32($s4) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s3 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s4 $v0 + move $s3 $s4 + move $s4 $s3 + blez $s4 if433_else if433_body: - move $s4 $s5 - lw $s4 0($s5) - move $s3 $s6 - move $s2 $s3 - move $s3 $s7 - move $s1 $s3 - lw $s4 64($s4) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s5 - move $a1 $s2 - move $a2 $s1 - jalr $s4 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s3 $v0 - move $s1 $s3 - move $s3 $s1 - j if433_end + move $s4 $s5 + lw $s4 0($s5) + move $s3 $s6 + move $s2 $s3 + move $s3 $s7 + move $s1 $s3 + lw $s4 64($s4) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s5 + move $a1 $s2 + move $a2 $s1 + jalr $s4 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s3 $v0 + move $s1 $s3 + move $s3 $s1 + j if433_end if433_else: - move $s1 $s7 - move $s7 $s1 - lw $s1 0($s7) - lw $s2 28($s1) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s2 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s1 $v0 - move $s2 $s1 - move $s1 $s2 - blez $s1 if447_else + move $s1 $s7 + move $s7 $s1 + lw $s1 0($s7) + lw $s2 28($s1) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s2 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s1 $v0 + move $s2 $s1 + move $s1 $s2 + blez $s1 if447_else if447_body: - move $s1 $s5 - lw $s1 0($s5) - move $s2 $s6 - move $s4 $s2 - move $s2 $s7 - move $s0 $s2 - lw $s1 60($s1) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s5 - move $a1 $s4 - move $a2 $s0 - jalr $s1 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s2 $v0 - move $s0 $s2 - move $s3 $s0 - j if447_end + move $s1 $s5 + lw $s1 0($s5) + move $s2 $s6 + move $s4 $s2 + move $s2 $s7 + move $s0 $s2 + lw $s1 60($s1) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s5 + move $a1 $s4 + move $a2 $s0 + jalr $s1 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s2 $v0 + move $s0 $s2 + move $s3 $s0 + j if447_end if447_else: - move $s0 $s7 - move $s7 $s0 - lw $s0 0($s7) - lw $s2 20($s0) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s2 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s0 $v0 - move $s2 $s0 - move $s0 $s2 - move $s2 $s6 - move $s6 $s2 - lw $s2 0($s6) - lw $s7 16($s2) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s6 - jalr $s7 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s2 $v0 - move $s7 $s2 - move $s2 $s7 - move $s7 $s2 - lw $s2 0($s7) - lw $s4 20($s2) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s4 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s2 $v0 - move $s4 $s2 - move $s2 $s4 - move $s4 $s5 - lw $s4 0($s5) - move $s7 $s0 - move $s0 $s7 - move $s7 $s2 - move $s2 $s7 - lw $s4 44($s4) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s5 - move $a1 $s0 - move $a2 $s2 - jalr $s4 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s7 $v0 - move $s2 $s7 - move $s7 $s2 - blez $s7 if477_else + move $s0 $s7 + move $s7 $s0 + lw $s0 0($s7) + lw $s2 20($s0) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s2 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s0 $v0 + move $s2 $s0 + move $s0 $s2 + move $s2 $s6 + move $s6 $s2 + lw $s2 0($s6) + lw $s7 16($s2) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s6 + jalr $s7 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s2 $v0 + move $s7 $s2 + move $s2 $s7 + move $s7 $s2 + lw $s2 0($s7) + lw $s4 20($s2) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s4 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s2 $v0 + move $s4 $s2 + move $s2 $s4 + move $s4 $s5 + lw $s4 0($s5) + move $s7 $s0 + move $s0 $s7 + move $s7 $s2 + move $s2 $s7 + lw $s4 44($s4) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s5 + move $a1 $s0 + move $a2 $s2 + jalr $s4 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s7 $v0 + move $s2 $s7 + move $s7 $s2 + blez $s7 if477_else if477_body: - move $s7 $s6 - move $s6 $s7 - lw $s7 0($s6) - lw $s2 8($s7) - lw $s7 104($s5) - move $s0 $s7 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s6 - move $a1 $s0 - jalr $s2 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s7 $v0 - move $s0 $s7 - move $s3 $s0 - move $s0 $s6 - move $s6 $s0 - lw $s0 0($s6) - lw $s7 36($s0) - li $s0 0 - move $s2 $s0 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s6 - move $a1 $s2 - jalr $s7 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s0 $v0 - move $s2 $s0 - move $s3 $s2 - j if477_end + move $s7 $s6 + move $s6 $s7 + lw $s7 0($s6) + lw $s2 8($s7) + lw $s7 104($s5) + move $s0 $s7 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s6 + move $a1 $s0 + jalr $s2 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s7 $v0 + move $s0 $s7 + move $s3 $s0 + move $s0 $s6 + move $s6 $s0 + lw $s0 0($s6) + lw $s7 36($s0) + li $s0 0 + move $s2 $s0 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s6 + move $a1 $s2 + jalr $s7 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s0 $v0 + move $s2 $s0 + move $s3 $s2 + j if477_end if477_else: - move $s2 $s6 - move $s6 $s2 - lw $s2 0($s6) - lw $s0 4($s2) - lw $s2 104($s5) - move $s5 $s2 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s6 - move $a1 $s5 - jalr $s0 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s2 $v0 - move $s5 $s2 - move $s3 $s5 - move $s5 $s6 - move $s6 $s5 - lw $s5 0($s6) - lw $s2 40($s5) - li $s5 0 - move $s0 $s5 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s6 - move $a1 $s0 - jalr $s2 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s0 $s5 - move $s3 $s0 + move $s2 $s6 + move $s6 $s2 + lw $s2 0($s6) + lw $s0 4($s2) + lw $s2 104($s5) + move $s5 $s2 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s6 + move $a1 $s5 + jalr $s0 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s2 $v0 + move $s5 $s2 + move $s3 $s5 + move $s5 $s6 + move $s6 $s5 + lw $s5 0($s6) + lw $s2 40($s5) + li $s5 0 + move $s0 $s5 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s6 + move $a1 $s0 + jalr $s2 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $s0 $s5 + move $s3 $s0 if477_end: if447_end: if433_end: - li $s0 1 - move $s3 $s0 - move $s0 $s3 - move $v0 $s0 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + li $s0 1 + move $s3 $s0 + move $s0 $s3 + move $v0 $s0 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra Tree_RemoveRight: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 144 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - sw $a0 -72($fp) - sw $a1 -68($fp) - move $s7 $a2 + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 144 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + sw $a0 -72($fp) + sw $a1 -68($fp) + move $s7 $a2 while517_test: - move $s4 $s7 - move $s7 $s4 - lw $t0 -128($fp) - lw $t0 0($s7) - sw $t0 -128($fp) - lw $t0 -124($fp) - lw $t1 -128($fp) - lw $t0 28($t1) - sw $t1 -128($fp) - sw $t0 -124($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - lw $t0 -124($fp) - lw $t1 -124($fp) - jalr $t1 - sw $t1 -124($fp) - sw $t0 -124($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -120($fp) - move $t0 $v0 - sw $t0 -120($fp) - lw $t0 -136($fp) - lw $t1 -120($fp) - move $t0 $t1 - sw $t1 -120($fp) - sw $t0 -136($fp) - lw $t0 -132($fp) - lw $t1 -136($fp) - move $t0 $t1 - sw $t1 -136($fp) - sw $t0 -132($fp) - lw $t0 -132($fp) - blez $t0 while517_end - sw $t0 -132($fp) + move $s4 $s7 + move $s7 $s4 + lw $t0 -128($fp) + lw $t0 0($s7) + sw $t0 -128($fp) + lw $t0 -124($fp) + lw $t1 -128($fp) + lw $t0 28($t1) + sw $t1 -128($fp) + sw $t0 -124($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + lw $t0 -124($fp) + lw $t1 -124($fp) + jalr $t1 + sw $t1 -124($fp) + sw $t0 -124($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -120($fp) + move $t0 $v0 + sw $t0 -120($fp) + lw $t0 -136($fp) + lw $t1 -120($fp) + move $t0 $t1 + sw $t1 -120($fp) + sw $t0 -136($fp) + lw $t0 -132($fp) + lw $t1 -136($fp) + move $t0 $t1 + sw $t1 -136($fp) + sw $t0 -132($fp) + lw $t0 -132($fp) + blez $t0 while517_end + sw $t0 -132($fp) while517_body: - lw $t0 -96($fp) - move $t0 $s7 - sw $t0 -96($fp) - lw $t0 -96($fp) - move $s7 $t0 - sw $t0 -96($fp) - lw $t0 -108($fp) - lw $t0 0($s7) - sw $t0 -108($fp) - lw $t0 -104($fp) - lw $t1 -108($fp) - lw $t0 24($t1) - sw $t1 -108($fp) - sw $t0 -104($fp) - lw $t0 -92($fp) - move $t0 $s7 - sw $t0 -92($fp) - lw $t0 -92($fp) - move $s7 $t0 - sw $t0 -92($fp) - lw $t0 -88($fp) - lw $t0 0($s7) - sw $t0 -88($fp) - lw $t0 -88($fp) - lw $s6 12($t0) - sw $t0 -88($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s6 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -80($fp) - move $t0 $v0 - sw $t0 -80($fp) - lw $t0 -80($fp) - move $t3 $t0 - sw $t0 -80($fp) - move $s5 $t3 - move $t6 $s5 - lw $t7 0($t6) - lw $t4 20($t7) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $t6 - jalr $t4 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -84($fp) - move $t0 $v0 - sw $t0 -84($fp) - lw $t0 -84($fp) - move $t5 $t0 - sw $t0 -84($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - move $a1 $t5 - lw $t0 -104($fp) - lw $t1 -104($fp) - jalr $t1 - sw $t1 -104($fp) - sw $t0 -104($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -140($fp) - move $t0 $v0 - sw $t0 -140($fp) - lw $t0 -140($fp) - move $s2 $t0 - sw $t0 -140($fp) - lw $t0 -144($fp) - move $t0 $s2 - sw $t0 -144($fp) - move $s3 $s7 - move $s0 $s3 - lw $t0 -68($fp) - move $t0 $s0 - sw $t0 -68($fp) - lw $t0 -116($fp) - move $t0 $s7 - sw $t0 -116($fp) - lw $t0 -116($fp) - move $s7 $t0 - sw $t0 -116($fp) - lw $t0 -112($fp) - lw $t0 0($s7) - sw $t0 -112($fp) - lw $t0 -76($fp) - lw $t1 -112($fp) - lw $t0 12($t1) - sw $t1 -112($fp) - sw $t0 -76($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - lw $t0 -76($fp) - lw $t1 -76($fp) - jalr $t1 - sw $t1 -76($fp) - sw $t0 -76($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s1 $v0 - lw $t0 -100($fp) - move $t0 $s1 - sw $t0 -100($fp) - lw $t0 -100($fp) - move $s7 $t0 - sw $t0 -100($fp) - j while517_test + lw $t0 -96($fp) + move $t0 $s7 + sw $t0 -96($fp) + lw $t0 -96($fp) + move $s7 $t0 + sw $t0 -96($fp) + lw $t0 -108($fp) + lw $t0 0($s7) + sw $t0 -108($fp) + lw $t0 -104($fp) + lw $t1 -108($fp) + lw $t0 24($t1) + sw $t1 -108($fp) + sw $t0 -104($fp) + lw $t0 -92($fp) + move $t0 $s7 + sw $t0 -92($fp) + lw $t0 -92($fp) + move $s7 $t0 + sw $t0 -92($fp) + lw $t0 -88($fp) + lw $t0 0($s7) + sw $t0 -88($fp) + lw $t0 -88($fp) + lw $s6 12($t0) + sw $t0 -88($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s6 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -80($fp) + move $t0 $v0 + sw $t0 -80($fp) + lw $t0 -80($fp) + move $t3 $t0 + sw $t0 -80($fp) + move $s5 $t3 + move $t6 $s5 + lw $t7 0($t6) + lw $t4 20($t7) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $t6 + jalr $t4 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -84($fp) + move $t0 $v0 + sw $t0 -84($fp) + lw $t0 -84($fp) + move $t5 $t0 + sw $t0 -84($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + move $a1 $t5 + lw $t0 -104($fp) + lw $t1 -104($fp) + jalr $t1 + sw $t1 -104($fp) + sw $t0 -104($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -140($fp) + move $t0 $v0 + sw $t0 -140($fp) + lw $t0 -140($fp) + move $s2 $t0 + sw $t0 -140($fp) + lw $t0 -144($fp) + move $t0 $s2 + sw $t0 -144($fp) + move $s3 $s7 + move $s0 $s3 + lw $t0 -68($fp) + move $t0 $s0 + sw $t0 -68($fp) + lw $t0 -116($fp) + move $t0 $s7 + sw $t0 -116($fp) + lw $t0 -116($fp) + move $s7 $t0 + sw $t0 -116($fp) + lw $t0 -112($fp) + lw $t0 0($s7) + sw $t0 -112($fp) + lw $t0 -76($fp) + lw $t1 -112($fp) + lw $t0 12($t1) + sw $t1 -112($fp) + sw $t0 -76($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + lw $t0 -76($fp) + lw $t1 -76($fp) + jalr $t1 + sw $t1 -76($fp) + sw $t0 -76($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s1 $v0 + lw $t0 -100($fp) + move $t0 $s1 + sw $t0 -100($fp) + lw $t0 -100($fp) + move $s7 $t0 + sw $t0 -100($fp) + j while517_test while517_end: - lw $t0 -68($fp) - move $s5 $t0 - sw $t0 -68($fp) - lw $t0 -68($fp) - move $t0 $s5 - sw $t0 -68($fp) - lw $t0 -68($fp) - lw $s5 0($t0) - sw $t0 -68($fp) - lw $s6 4($s5) - lw $t0 -72($fp) - lw $s5 104($t0) - sw $t0 -72($fp) - move $t3 $s5 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - lw $t0 -68($fp) - move $a0 $t0 - sw $t0 -68($fp) - move $a1 $t3 - jalr $s6 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $t3 $s5 - lw $t0 -144($fp) - move $t0 $t3 - sw $t0 -144($fp) - lw $t0 -68($fp) - move $t3 $t0 - sw $t0 -68($fp) - lw $t0 -68($fp) - move $t0 $t3 - sw $t0 -68($fp) - lw $t0 -68($fp) - lw $t3 0($t0) - sw $t0 -68($fp) - lw $s5 40($t3) - li $t3 0 - move $s6 $t3 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - lw $t0 -68($fp) - move $a0 $t0 - sw $t0 -68($fp) - move $a1 $s6 - jalr $s5 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $t3 $v0 - move $s6 $t3 - lw $t0 -144($fp) - move $t0 $s6 - sw $t0 -144($fp) - li $s6 1 - move $t3 $s6 - move $s6 $t3 - move $v0 $s6 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 144 - jr $ra + lw $t0 -68($fp) + move $s5 $t0 + sw $t0 -68($fp) + lw $t0 -68($fp) + move $t0 $s5 + sw $t0 -68($fp) + lw $t0 -68($fp) + lw $s5 0($t0) + sw $t0 -68($fp) + lw $s6 4($s5) + lw $t0 -72($fp) + lw $s5 104($t0) + sw $t0 -72($fp) + move $t3 $s5 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + lw $t0 -68($fp) + move $a0 $t0 + sw $t0 -68($fp) + move $a1 $t3 + jalr $s6 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $t3 $s5 + lw $t0 -144($fp) + move $t0 $t3 + sw $t0 -144($fp) + lw $t0 -68($fp) + move $t3 $t0 + sw $t0 -68($fp) + lw $t0 -68($fp) + move $t0 $t3 + sw $t0 -68($fp) + lw $t0 -68($fp) + lw $t3 0($t0) + sw $t0 -68($fp) + lw $s5 40($t3) + li $t3 0 + move $s6 $t3 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + lw $t0 -68($fp) + move $a0 $t0 + sw $t0 -68($fp) + move $a1 $s6 + jalr $s5 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $t3 $v0 + move $s6 $t3 + lw $t0 -144($fp) + move $t0 $s6 + sw $t0 -144($fp) + li $s6 1 + move $t3 $s6 + move $s6 $t3 + move $v0 $s6 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 144 + jr $ra Tree_RemoveLeft: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 144 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - sw $a0 -72($fp) - sw $a1 -68($fp) - move $s7 $a2 + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 144 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + sw $a0 -72($fp) + sw $a1 -68($fp) + move $s7 $a2 while564_test: - move $s4 $s7 - move $s7 $s4 - lw $t0 -128($fp) - lw $t0 0($s7) - sw $t0 -128($fp) - lw $t0 -124($fp) - lw $t1 -128($fp) - lw $t0 32($t1) - sw $t1 -128($fp) - sw $t0 -124($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - lw $t0 -124($fp) - lw $t1 -124($fp) - jalr $t1 - sw $t1 -124($fp) - sw $t0 -124($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -120($fp) - move $t0 $v0 - sw $t0 -120($fp) - lw $t0 -136($fp) - lw $t1 -120($fp) - move $t0 $t1 - sw $t1 -120($fp) - sw $t0 -136($fp) - lw $t0 -132($fp) - lw $t1 -136($fp) - move $t0 $t1 - sw $t1 -136($fp) - sw $t0 -132($fp) - lw $t0 -132($fp) - blez $t0 while564_end - sw $t0 -132($fp) + move $s4 $s7 + move $s7 $s4 + lw $t0 -128($fp) + lw $t0 0($s7) + sw $t0 -128($fp) + lw $t0 -124($fp) + lw $t1 -128($fp) + lw $t0 32($t1) + sw $t1 -128($fp) + sw $t0 -124($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + lw $t0 -124($fp) + lw $t1 -124($fp) + jalr $t1 + sw $t1 -124($fp) + sw $t0 -124($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -120($fp) + move $t0 $v0 + sw $t0 -120($fp) + lw $t0 -136($fp) + lw $t1 -120($fp) + move $t0 $t1 + sw $t1 -120($fp) + sw $t0 -136($fp) + lw $t0 -132($fp) + lw $t1 -136($fp) + move $t0 $t1 + sw $t1 -136($fp) + sw $t0 -132($fp) + lw $t0 -132($fp) + blez $t0 while564_end + sw $t0 -132($fp) while564_body: - lw $t0 -96($fp) - move $t0 $s7 - sw $t0 -96($fp) - lw $t0 -96($fp) - move $s7 $t0 - sw $t0 -96($fp) - lw $t0 -108($fp) - lw $t0 0($s7) - sw $t0 -108($fp) - lw $t0 -104($fp) - lw $t1 -108($fp) - lw $t0 24($t1) - sw $t1 -108($fp) - sw $t0 -104($fp) - lw $t0 -92($fp) - move $t0 $s7 - sw $t0 -92($fp) - lw $t0 -92($fp) - move $s7 $t0 - sw $t0 -92($fp) - lw $t0 -88($fp) - lw $t0 0($s7) - sw $t0 -88($fp) - lw $t0 -88($fp) - lw $s6 16($t0) - sw $t0 -88($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s6 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -80($fp) - move $t0 $v0 - sw $t0 -80($fp) - lw $t0 -80($fp) - move $t3 $t0 - sw $t0 -80($fp) - move $s5 $t3 - move $t6 $s5 - lw $t7 0($t6) - lw $t4 20($t7) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $t6 - jalr $t4 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -84($fp) - move $t0 $v0 - sw $t0 -84($fp) - lw $t0 -84($fp) - move $t5 $t0 - sw $t0 -84($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - move $a1 $t5 - lw $t0 -104($fp) - lw $t1 -104($fp) - jalr $t1 - sw $t1 -104($fp) - sw $t0 -104($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -140($fp) - move $t0 $v0 - sw $t0 -140($fp) - lw $t0 -140($fp) - move $s2 $t0 - sw $t0 -140($fp) - lw $t0 -144($fp) - move $t0 $s2 - sw $t0 -144($fp) - move $s3 $s7 - move $s0 $s3 - lw $t0 -68($fp) - move $t0 $s0 - sw $t0 -68($fp) - lw $t0 -116($fp) - move $t0 $s7 - sw $t0 -116($fp) - lw $t0 -116($fp) - move $s7 $t0 - sw $t0 -116($fp) - lw $t0 -112($fp) - lw $t0 0($s7) - sw $t0 -112($fp) - lw $t0 -76($fp) - lw $t1 -112($fp) - lw $t0 16($t1) - sw $t1 -112($fp) - sw $t0 -76($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - lw $t0 -76($fp) - lw $t1 -76($fp) - jalr $t1 - sw $t1 -76($fp) - sw $t0 -76($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s1 $v0 - lw $t0 -100($fp) - move $t0 $s1 - sw $t0 -100($fp) - lw $t0 -100($fp) - move $s7 $t0 - sw $t0 -100($fp) - j while564_test + lw $t0 -96($fp) + move $t0 $s7 + sw $t0 -96($fp) + lw $t0 -96($fp) + move $s7 $t0 + sw $t0 -96($fp) + lw $t0 -108($fp) + lw $t0 0($s7) + sw $t0 -108($fp) + lw $t0 -104($fp) + lw $t1 -108($fp) + lw $t0 24($t1) + sw $t1 -108($fp) + sw $t0 -104($fp) + lw $t0 -92($fp) + move $t0 $s7 + sw $t0 -92($fp) + lw $t0 -92($fp) + move $s7 $t0 + sw $t0 -92($fp) + lw $t0 -88($fp) + lw $t0 0($s7) + sw $t0 -88($fp) + lw $t0 -88($fp) + lw $s6 16($t0) + sw $t0 -88($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s6 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -80($fp) + move $t0 $v0 + sw $t0 -80($fp) + lw $t0 -80($fp) + move $t3 $t0 + sw $t0 -80($fp) + move $s5 $t3 + move $t6 $s5 + lw $t7 0($t6) + lw $t4 20($t7) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $t6 + jalr $t4 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -84($fp) + move $t0 $v0 + sw $t0 -84($fp) + lw $t0 -84($fp) + move $t5 $t0 + sw $t0 -84($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + move $a1 $t5 + lw $t0 -104($fp) + lw $t1 -104($fp) + jalr $t1 + sw $t1 -104($fp) + sw $t0 -104($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -140($fp) + move $t0 $v0 + sw $t0 -140($fp) + lw $t0 -140($fp) + move $s2 $t0 + sw $t0 -140($fp) + lw $t0 -144($fp) + move $t0 $s2 + sw $t0 -144($fp) + move $s3 $s7 + move $s0 $s3 + lw $t0 -68($fp) + move $t0 $s0 + sw $t0 -68($fp) + lw $t0 -116($fp) + move $t0 $s7 + sw $t0 -116($fp) + lw $t0 -116($fp) + move $s7 $t0 + sw $t0 -116($fp) + lw $t0 -112($fp) + lw $t0 0($s7) + sw $t0 -112($fp) + lw $t0 -76($fp) + lw $t1 -112($fp) + lw $t0 16($t1) + sw $t1 -112($fp) + sw $t0 -76($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + lw $t0 -76($fp) + lw $t1 -76($fp) + jalr $t1 + sw $t1 -76($fp) + sw $t0 -76($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s1 $v0 + lw $t0 -100($fp) + move $t0 $s1 + sw $t0 -100($fp) + lw $t0 -100($fp) + move $s7 $t0 + sw $t0 -100($fp) + j while564_test while564_end: - lw $t0 -68($fp) - move $s5 $t0 - sw $t0 -68($fp) - lw $t0 -68($fp) - move $t0 $s5 - sw $t0 -68($fp) - lw $t0 -68($fp) - lw $s5 0($t0) - sw $t0 -68($fp) - lw $s6 8($s5) - lw $t0 -72($fp) - lw $s5 104($t0) - sw $t0 -72($fp) - move $t3 $s5 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - lw $t0 -68($fp) - move $a0 $t0 - sw $t0 -68($fp) - move $a1 $t3 - jalr $s6 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $t3 $s5 - lw $t0 -144($fp) - move $t0 $t3 - sw $t0 -144($fp) - lw $t0 -68($fp) - move $t3 $t0 - sw $t0 -68($fp) - lw $t0 -68($fp) - move $t0 $t3 - sw $t0 -68($fp) - lw $t0 -68($fp) - lw $t3 0($t0) - sw $t0 -68($fp) - lw $s5 36($t3) - li $t3 0 - move $s6 $t3 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - lw $t0 -68($fp) - move $a0 $t0 - sw $t0 -68($fp) - move $a1 $s6 - jalr $s5 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $t3 $v0 - move $s6 $t3 - lw $t0 -144($fp) - move $t0 $s6 - sw $t0 -144($fp) - li $s6 1 - move $t3 $s6 - move $s6 $t3 - move $v0 $s6 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 144 - jr $ra + lw $t0 -68($fp) + move $s5 $t0 + sw $t0 -68($fp) + lw $t0 -68($fp) + move $t0 $s5 + sw $t0 -68($fp) + lw $t0 -68($fp) + lw $s5 0($t0) + sw $t0 -68($fp) + lw $s6 8($s5) + lw $t0 -72($fp) + lw $s5 104($t0) + sw $t0 -72($fp) + move $t3 $s5 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + lw $t0 -68($fp) + move $a0 $t0 + sw $t0 -68($fp) + move $a1 $t3 + jalr $s6 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $t3 $s5 + lw $t0 -144($fp) + move $t0 $t3 + sw $t0 -144($fp) + lw $t0 -68($fp) + move $t3 $t0 + sw $t0 -68($fp) + lw $t0 -68($fp) + move $t0 $t3 + sw $t0 -68($fp) + lw $t0 -68($fp) + lw $t3 0($t0) + sw $t0 -68($fp) + lw $s5 36($t3) + li $t3 0 + move $s6 $t3 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + lw $t0 -68($fp) + move $a0 $t0 + sw $t0 -68($fp) + move $a1 $s6 + jalr $s5 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $t3 $v0 + move $s6 $t3 + lw $t0 -144($fp) + move $t0 $s6 + sw $t0 -144($fp) + li $s6 1 + move $t3 $s6 + move $s6 $t3 + move $v0 $s6 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 144 + jr $ra Tree_Search: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 180 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s6 $a0 - move $s7 $a1 - move $s5 $s6 - move $s6 $s5 - move $s5 $s6 - li $s6 1 - move $s4 $s6 - move $s6 $s4 - li $s4 0 - move $s3 $s4 - lw $t0 -68($fp) - move $t0 $s3 - sw $t0 -68($fp) + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 180 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s6 $a0 + move $s7 $a1 + move $s5 $s6 + move $s6 $s5 + move $s5 $s6 + li $s6 1 + move $s4 $s6 + move $s6 $s4 + li $s4 0 + move $s3 $s4 + lw $t0 -68($fp) + move $t0 $s3 + sw $t0 -68($fp) while617_test: - move $s3 $s6 - lw $t0 -156($fp) - move $t0 $s3 - sw $t0 -156($fp) - lw $t0 -116($fp) - lw $t1 -156($fp) - move $t0 $t1 - sw $t1 -156($fp) - sw $t0 -116($fp) - lw $t0 -116($fp) - blez $t0 while617_end - sw $t0 -116($fp) + move $s3 $s6 + lw $t0 -156($fp) + move $t0 $s3 + sw $t0 -156($fp) + lw $t0 -116($fp) + lw $t1 -156($fp) + move $t0 $t1 + sw $t1 -156($fp) + sw $t0 -116($fp) + lw $t0 -116($fp) + blez $t0 while617_end + sw $t0 -116($fp) while617_body: - lw $t0 -124($fp) - move $t0 $s5 - sw $t0 -124($fp) - lw $t0 -124($fp) - move $s5 $t0 - sw $t0 -124($fp) - lw $t0 -84($fp) - lw $t0 0($s5) - sw $t0 -84($fp) - lw $t0 -80($fp) - lw $t1 -84($fp) - lw $t0 20($t1) - sw $t1 -84($fp) - sw $t0 -80($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s5 - lw $t0 -80($fp) - lw $t1 -80($fp) - jalr $t1 - sw $t1 -80($fp) - sw $t0 -80($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -132($fp) - move $t0 $v0 - sw $t0 -132($fp) - lw $t0 -92($fp) - lw $t1 -132($fp) - move $t0 $t1 - sw $t1 -132($fp) - sw $t0 -92($fp) - lw $t0 -100($fp) - lw $t1 -92($fp) - move $t0 $t1 - sw $t1 -92($fp) - sw $t0 -100($fp) - move $t4 $s7 - lw $t0 -76($fp) - lw $t1 -100($fp) - move $t0 $t1 - sw $t1 -100($fp) - sw $t0 -76($fp) - lw $t0 -180($fp) - lw $t1 -76($fp) - move $a0 $t4 - move $t9 $t1 - slt $t0 $a0 $t9 - sw $t1 -76($fp) - sw $t0 -180($fp) - lw $t0 -72($fp) - lw $t1 -180($fp) - move $t0 $t1 - sw $t1 -180($fp) - sw $t0 -72($fp) - lw $t0 -72($fp) - move $t7 $t0 - sw $t0 -72($fp) - blez $t7 if626_else + lw $t0 -124($fp) + move $t0 $s5 + sw $t0 -124($fp) + lw $t0 -124($fp) + move $s5 $t0 + sw $t0 -124($fp) + lw $t0 -84($fp) + lw $t0 0($s5) + sw $t0 -84($fp) + lw $t0 -80($fp) + lw $t1 -84($fp) + lw $t0 20($t1) + sw $t1 -84($fp) + sw $t0 -80($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s5 + lw $t0 -80($fp) + lw $t1 -80($fp) + jalr $t1 + sw $t1 -80($fp) + sw $t0 -80($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -132($fp) + move $t0 $v0 + sw $t0 -132($fp) + lw $t0 -92($fp) + lw $t1 -132($fp) + move $t0 $t1 + sw $t1 -132($fp) + sw $t0 -92($fp) + lw $t0 -100($fp) + lw $t1 -92($fp) + move $t0 $t1 + sw $t1 -92($fp) + sw $t0 -100($fp) + move $t4 $s7 + lw $t0 -76($fp) + lw $t1 -100($fp) + move $t0 $t1 + sw $t1 -100($fp) + sw $t0 -76($fp) + lw $t0 -180($fp) + lw $t1 -76($fp) + move $a0 $t4 + move $t9 $t1 + slt $t0 $a0 $t9 + sw $t1 -76($fp) + sw $t0 -180($fp) + lw $t0 -72($fp) + lw $t1 -180($fp) + move $t0 $t1 + sw $t1 -180($fp) + sw $t0 -72($fp) + lw $t0 -72($fp) + move $t7 $t0 + sw $t0 -72($fp) + blez $t7 if626_else if626_body: - move $t5 $s5 - move $s5 $t5 - lw $t6 0($s5) - lw $t0 -172($fp) - lw $t0 32($t6) - sw $t0 -172($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s5 - lw $t0 -172($fp) - lw $t1 -172($fp) - jalr $t1 - sw $t1 -172($fp) - sw $t0 -172($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s0 $v0 - lw $t0 -168($fp) - move $t0 $s0 - sw $t0 -168($fp) - lw $t0 -96($fp) - lw $t1 -168($fp) - move $t0 $t1 - sw $t1 -168($fp) - sw $t0 -96($fp) - lw $t0 -96($fp) - blez $t0 if631_else - sw $t0 -96($fp) + move $t5 $s5 + move $s5 $t5 + lw $t6 0($s5) + lw $t0 -172($fp) + lw $t0 32($t6) + sw $t0 -172($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s5 + lw $t0 -172($fp) + lw $t1 -172($fp) + jalr $t1 + sw $t1 -172($fp) + sw $t0 -172($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s0 $v0 + lw $t0 -168($fp) + move $t0 $s0 + sw $t0 -168($fp) + lw $t0 -96($fp) + lw $t1 -168($fp) + move $t0 $t1 + sw $t1 -168($fp) + sw $t0 -96($fp) + lw $t0 -96($fp) + blez $t0 if631_else + sw $t0 -96($fp) if631_body: - lw $t0 -144($fp) - move $t0 $s5 - sw $t0 -144($fp) - lw $t0 -144($fp) - move $s5 $t0 - sw $t0 -144($fp) - lw $t0 -164($fp) - lw $t0 0($s5) - sw $t0 -164($fp) - lw $t0 -152($fp) - lw $t1 -164($fp) - lw $t0 16($t1) - sw $t1 -164($fp) - sw $t0 -152($fp) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s5 - lw $t0 -152($fp) - lw $t1 -152($fp) - jalr $t1 - sw $t1 -152($fp) - sw $t0 -152($fp) - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - lw $t0 -148($fp) - move $t0 $v0 - sw $t0 -148($fp) - lw $t0 -112($fp) - lw $t1 -148($fp) - move $t0 $t1 - sw $t1 -148($fp) - sw $t0 -112($fp) - lw $t0 -112($fp) - move $s5 $t0 - sw $t0 -112($fp) - j if631_end + lw $t0 -144($fp) + move $t0 $s5 + sw $t0 -144($fp) + lw $t0 -144($fp) + move $s5 $t0 + sw $t0 -144($fp) + lw $t0 -164($fp) + lw $t0 0($s5) + sw $t0 -164($fp) + lw $t0 -152($fp) + lw $t1 -164($fp) + lw $t0 16($t1) + sw $t1 -164($fp) + sw $t0 -152($fp) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s5 + lw $t0 -152($fp) + lw $t1 -152($fp) + jalr $t1 + sw $t1 -152($fp) + sw $t0 -152($fp) + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + lw $t0 -148($fp) + move $t0 $v0 + sw $t0 -148($fp) + lw $t0 -112($fp) + lw $t1 -148($fp) + move $t0 $t1 + sw $t1 -148($fp) + sw $t0 -112($fp) + lw $t0 -112($fp) + move $s5 $t0 + sw $t0 -112($fp) + j if631_end if631_else: - lw $t0 -104($fp) - li $t0 0 - sw $t0 -104($fp) - lw $t0 -136($fp) - lw $t1 -104($fp) - move $t0 $t1 - sw $t1 -104($fp) - sw $t0 -136($fp) - lw $t0 -136($fp) - move $s6 $t0 - sw $t0 -136($fp) + lw $t0 -104($fp) + li $t0 0 + sw $t0 -104($fp) + lw $t0 -136($fp) + lw $t1 -104($fp) + move $t0 $t1 + sw $t1 -104($fp) + sw $t0 -136($fp) + lw $t0 -136($fp) + move $s6 $t0 + sw $t0 -136($fp) if631_end: - j if626_end + j if626_end if626_else: - lw $t0 -88($fp) - lw $t1 -100($fp) - move $t0 $t1 - sw $t1 -100($fp) - sw $t0 -88($fp) - move $s1 $s7 - lw $t0 -128($fp) - lw $t1 -88($fp) - move $a0 $t1 - move $t9 $s1 - slt $t0 $a0 $t9 - sw $t1 -88($fp) - sw $t0 -128($fp) - lw $t0 -128($fp) - move $s2 $t0 - sw $t0 -128($fp) - lw $t0 -176($fp) - move $t0 $s2 - sw $t0 -176($fp) - lw $t0 -176($fp) - blez $t0 if644_else - sw $t0 -176($fp) + lw $t0 -88($fp) + lw $t1 -100($fp) + move $t0 $t1 + sw $t1 -100($fp) + sw $t0 -88($fp) + move $s1 $s7 + lw $t0 -128($fp) + lw $t1 -88($fp) + move $a0 $t1 + move $t9 $s1 + slt $t0 $a0 $t9 + sw $t1 -88($fp) + sw $t0 -128($fp) + lw $t0 -128($fp) + move $s2 $t0 + sw $t0 -128($fp) + lw $t0 -176($fp) + move $t0 $s2 + sw $t0 -176($fp) + lw $t0 -176($fp) + blez $t0 if644_else + sw $t0 -176($fp) if644_body: - move $s4 $s5 - move $s5 $s4 - lw $s4 0($s5) - lw $t3 28($s4) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s5 - jalr $t3 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s4 $v0 - move $t3 $s4 - move $s4 $t3 - blez $s4 if649_else + move $s4 $s5 + move $s5 $s4 + lw $s4 0($s5) + lw $t3 28($s4) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s5 + jalr $t3 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s4 $v0 + move $t3 $s4 + move $s4 $t3 + blez $s4 if649_else if649_body: - move $s4 $s5 - move $s5 $s4 - lw $s4 0($s5) - lw $t3 12($s4) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s5 - jalr $t3 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s4 $v0 - move $t3 $s4 - move $s5 $t3 - j if649_end + move $s4 $s5 + move $s5 $s4 + lw $s4 0($s5) + lw $t3 12($s4) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s5 + jalr $t3 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s4 $v0 + move $t3 $s4 + move $s5 $t3 + j if649_end if649_else: - li $t3 0 - move $s4 $t3 - move $s6 $s4 + li $t3 0 + move $s4 $t3 + move $s6 $s4 if649_end: - j if644_end + j if644_end if644_else: - lw $t0 -160($fp) - li $t0 1 - sw $t0 -160($fp) - lw $t0 -120($fp) - lw $t1 -160($fp) - move $t0 $t1 - sw $t1 -160($fp) - sw $t0 -120($fp) - lw $t0 -68($fp) - lw $t1 -120($fp) - move $t0 $t1 - sw $t1 -120($fp) - sw $t0 -68($fp) - lw $t0 -108($fp) - li $t0 0 - sw $t0 -108($fp) - lw $t0 -140($fp) - lw $t1 -108($fp) - move $t0 $t1 - sw $t1 -108($fp) - sw $t0 -140($fp) - lw $t0 -140($fp) - move $s6 $t0 - sw $t0 -140($fp) + lw $t0 -160($fp) + li $t0 1 + sw $t0 -160($fp) + lw $t0 -120($fp) + lw $t1 -160($fp) + move $t0 $t1 + sw $t1 -160($fp) + sw $t0 -120($fp) + lw $t0 -68($fp) + lw $t1 -120($fp) + move $t0 $t1 + sw $t1 -120($fp) + sw $t0 -68($fp) + lw $t0 -108($fp) + li $t0 0 + sw $t0 -108($fp) + lw $t0 -140($fp) + lw $t1 -108($fp) + move $t0 $t1 + sw $t1 -108($fp) + sw $t0 -140($fp) + lw $t0 -140($fp) + move $s6 $t0 + sw $t0 -140($fp) if644_end: if626_end: - j while617_test + j while617_test while617_end: - lw $t0 -68($fp) - move $t4 $t0 - sw $t0 -68($fp) - move $t5 $t4 - move $t4 $t5 - move $v0 $t4 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 180 - jr $ra + lw $t0 -68($fp) + move $t4 $t0 + sw $t0 -68($fp) + move $t5 $t4 + move $t4 $t5 + move $v0 $t4 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 180 + jr $ra Tree_Print: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s7 $a0 - move $s6 $s7 - move $s5 $s6 - move $s6 $s5 - move $s5 $s7 - lw $s5 0($s7) - move $s4 $s6 - move $s6 $s4 - lw $s5 76($s5) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - move $a1 $s6 - jalr $s5 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s4 $v0 - move $s6 $s4 - move $s4 $s6 - li $s4 1 - move $s6 $s4 - move $s4 $s6 - move $v0 $s4 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s7 $a0 + move $s6 $s7 + move $s5 $s6 + move $s6 $s5 + move $s5 $s7 + lw $s5 0($s7) + move $s4 $s6 + move $s6 $s4 + lw $s5 76($s5) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + move $a1 $s6 + jalr $s5 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s4 $v0 + move $s6 $s4 + move $s4 $s6 + li $s4 1 + move $s6 $s4 + move $s4 $s6 + move $v0 $s4 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra Tree_RecPrint: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s6 $a0 - move $s7 $a1 - move $s5 $s7 - move $s7 $s5 - lw $s5 0($s7) - lw $s4 32($s5) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s4 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s4 $s5 - move $s5 $s4 - blez $s5 if680_else + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s6 $a0 + move $s7 $a1 + move $s5 $s7 + move $s7 $s5 + lw $s5 0($s7) + lw $s4 32($s5) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s4 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $s4 $s5 + move $s5 $s4 + blez $s5 if680_else if680_body: - move $s5 $s6 - lw $s5 0($s6) - move $s4 $s7 - move $s7 $s4 - lw $s4 0($s7) - lw $s3 16($s4) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s3 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s4 $v0 - move $s3 $s4 - lw $s5 76($s5) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s6 - move $a1 $s3 - jalr $s5 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s4 $v0 - move $s3 $s4 - move $s4 $s3 - j if680_end + move $s5 $s6 + lw $s5 0($s6) + move $s4 $s7 + move $s7 $s4 + lw $s4 0($s7) + lw $s3 16($s4) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s3 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s4 $v0 + move $s3 $s4 + lw $s5 76($s5) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s6 + move $a1 $s3 + jalr $s5 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s4 $v0 + move $s3 $s4 + move $s4 $s3 + j if680_end if680_else: - li $s3 1 - move $s5 $s3 - move $s4 $s5 + li $s3 1 + move $s5 $s3 + move $s4 $s5 if680_end: - move $s5 $s7 - move $s7 $s5 - lw $s5 0($s7) - lw $s3 20($s5) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s3 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s3 $s5 - move $s5 $s3 - move $a0 $s5 - jal _print - move $s5 $s7 - move $s7 $s5 - lw $s5 0($s7) - lw $s3 28($s5) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s3 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s3 $s5 - move $s5 $s3 - blez $s5 if703_else + move $s5 $s7 + move $s7 $s5 + lw $s5 0($s7) + lw $s3 20($s5) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s3 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $s3 $s5 + move $s5 $s3 + move $a0 $s5 + jal _print + move $s5 $s7 + move $s7 $s5 + lw $s5 0($s7) + lw $s3 28($s5) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s3 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $s3 $s5 + move $s5 $s3 + blez $s5 if703_else if703_body: - move $s5 $s6 - lw $s5 0($s6) - move $s3 $s7 - move $s7 $s3 - lw $s3 0($s7) - lw $s2 12($s3) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s2 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s3 $v0 - move $s2 $s3 - lw $s5 76($s5) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s6 - move $a1 $s2 - jalr $s5 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s3 $v0 - move $s2 $s3 - move $s4 $s2 - j if703_end + move $s5 $s6 + lw $s5 0($s6) + move $s3 $s7 + move $s7 $s3 + lw $s3 0($s7) + lw $s2 12($s3) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s2 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s3 $v0 + move $s2 $s3 + lw $s5 76($s5) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s6 + move $a1 $s2 + jalr $s5 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s3 $v0 + move $s2 $s3 + move $s4 $s2 + j if703_end if703_else: - li $s2 1 - move $s3 $s2 - move $s4 $s3 + li $s2 1 + move $s3 $s2 + move $s4 $s3 if703_end: - li $s3 1 - move $s4 $s3 - move $s3 $s4 - move $v0 $s3 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + li $s3 1 + move $s4 $s3 + move $s3 $s4 + move $v0 $s3 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra Tree_accept: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s5 $a0 - move $s6 $a1 - li $s7 333 - move $s4 $s7 - move $s7 $s4 - move $a0 $s7 - jal _print - move $s7 $s6 - move $s6 $s7 - lw $s7 0($s6) - lw $s4 0($s7) - move $s7 $s5 - move $s5 $s7 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s6 - move $a1 $s5 - jalr $s4 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s7 $v0 - move $s5 $s7 - move $s7 $s5 - li $s7 0 - move $s5 $s7 - move $s7 $s5 - move $v0 $s7 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s5 $a0 + move $s6 $a1 + li $s7 333 + move $s4 $s7 + move $s7 $s4 + move $a0 $s7 + jal _print + move $s7 $s6 + move $s6 $s7 + lw $s7 0($s6) + lw $s4 0($s7) + move $s7 $s5 + move $s5 $s7 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s6 + move $a1 $s5 + jalr $s4 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s7 $v0 + move $s5 $s7 + move $s7 $s5 + li $s7 0 + move $s5 $s7 + move $s7 $s5 + move $v0 $s7 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra Visitor_visit: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s6 $a0 - move $s7 $a1 - move $s5 $s7 - move $s7 $s5 - lw $s5 0($s7) - lw $s4 28($s5) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s4 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s4 $s5 - move $s5 $s4 - blez $s5 if736_else + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s6 $a0 + move $s7 $a1 + move $s5 $s7 + move $s7 $s5 + lw $s5 0($s7) + lw $s4 28($s5) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s4 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $s4 $s5 + move $s5 $s4 + blez $s5 if736_else if736_body: - move $s5 $s7 - move $s7 $s5 - lw $s5 0($s7) - lw $s4 12($s5) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s4 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s4 $s5 - sw $s4 8($s6) - lw $s4 8($s6) - move $s5 $s4 - lw $s4 0($s5) - lw $s3 80($s4) - move $s4 $s6 - move $s2 $s4 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s5 - move $a1 $s2 - jalr $s3 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s4 $v0 - move $s2 $s4 - move $s4 $s2 - j if736_end + move $s5 $s7 + move $s7 $s5 + lw $s5 0($s7) + lw $s4 12($s5) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s4 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $s4 $s5 + sw $s4 8($s6) + lw $s4 8($s6) + move $s5 $s4 + lw $s4 0($s5) + lw $s3 80($s4) + move $s4 $s6 + move $s2 $s4 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s5 + move $a1 $s2 + jalr $s3 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s4 $v0 + move $s2 $s4 + move $s4 $s2 + j if736_end if736_else: - li $s2 0 - move $s3 $s2 - move $s4 $s3 + li $s2 0 + move $s3 $s2 + move $s4 $s3 if736_end: - move $s3 $s7 - move $s7 $s3 - lw $s3 0($s7) - lw $s2 32($s3) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s2 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s3 $v0 - move $s2 $s3 - move $s3 $s2 - blez $s3 if756_else + move $s3 $s7 + move $s7 $s3 + lw $s3 0($s7) + lw $s2 32($s3) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s2 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s3 $v0 + move $s2 $s3 + move $s3 $s2 + blez $s3 if756_else if756_body: - move $s3 $s7 - move $s7 $s3 - lw $s3 0($s7) - lw $s2 16($s3) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s2 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s3 $v0 - move $s2 $s3 - sw $s2 4($s6) - lw $s2 4($s6) - move $s3 $s2 - lw $s2 0($s3) - lw $s7 80($s2) - move $s2 $s6 - move $s6 $s2 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s3 - move $a1 $s6 - jalr $s7 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s2 $v0 - move $s6 $s2 - move $s4 $s6 - j if756_end + move $s3 $s7 + move $s7 $s3 + lw $s3 0($s7) + lw $s2 16($s3) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s2 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s3 $v0 + move $s2 $s3 + sw $s2 4($s6) + lw $s2 4($s6) + move $s3 $s2 + lw $s2 0($s3) + lw $s7 80($s2) + move $s2 $s6 + move $s6 $s2 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s3 + move $a1 $s6 + jalr $s7 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s2 $v0 + move $s6 $s2 + move $s4 $s6 + j if756_end if756_else: - li $s6 0 - move $s2 $s6 - move $s4 $s2 + li $s6 0 + move $s2 $s6 + move $s4 $s2 if756_end: - li $s2 0 - move $s4 $s2 - move $s2 $s4 - move $v0 $s2 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + li $s2 0 + move $s4 $s2 + move $s2 $s4 + move $v0 $s2 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra MyVisitor_visit: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s6 $a0 - move $s7 $a1 - move $s5 $s7 - move $s7 $s5 - lw $s5 0($s7) - lw $s4 28($s5) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s4 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s4 $s5 - move $s5 $s4 - blez $s5 if779_else + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s6 $a0 + move $s7 $a1 + move $s5 $s7 + move $s7 $s5 + lw $s5 0($s7) + lw $s4 28($s5) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s4 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $s4 $s5 + move $s5 $s4 + blez $s5 if779_else if779_body: - move $s5 $s7 - move $s7 $s5 - lw $s5 0($s7) - lw $s4 12($s5) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s4 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s5 $v0 - move $s4 $s5 - sw $s4 12($s6) - lw $s4 12($s6) - move $s5 $s4 - lw $s4 0($s5) - lw $s3 80($s4) - move $s4 $s6 - move $s2 $s4 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s5 - move $a1 $s2 - jalr $s3 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s4 $v0 - move $s2 $s4 - move $s4 $s2 - j if779_end + move $s5 $s7 + move $s7 $s5 + lw $s5 0($s7) + lw $s4 12($s5) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s4 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s5 $v0 + move $s4 $s5 + sw $s4 12($s6) + lw $s4 12($s6) + move $s5 $s4 + lw $s4 0($s5) + lw $s3 80($s4) + move $s4 $s6 + move $s2 $s4 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s5 + move $a1 $s2 + jalr $s3 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s4 $v0 + move $s2 $s4 + move $s4 $s2 + j if779_end if779_else: - li $s2 0 - move $s3 $s2 - move $s4 $s3 + li $s2 0 + move $s3 $s2 + move $s4 $s3 if779_end: - move $s3 $s7 - move $s7 $s3 - lw $s3 0($s7) - lw $s2 20($s3) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s2 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s3 $v0 - move $s2 $s3 - move $s3 $s2 - move $a0 $s3 - jal _print - move $s3 $s7 - move $s7 $s3 - lw $s3 0($s7) - lw $s2 32($s3) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s2 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s3 $v0 - move $s2 $s3 - move $s3 $s2 - blez $s3 if805_else + move $s3 $s7 + move $s7 $s3 + lw $s3 0($s7) + lw $s2 20($s3) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s2 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s3 $v0 + move $s2 $s3 + move $s3 $s2 + move $a0 $s3 + jal _print + move $s3 $s7 + move $s7 $s3 + lw $s3 0($s7) + lw $s2 32($s3) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s2 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s3 $v0 + move $s2 $s3 + move $s3 $s2 + blez $s3 if805_else if805_body: - move $s3 $s7 - move $s7 $s3 - lw $s3 0($s7) - lw $s2 16($s3) - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s7 - jalr $s2 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s3 $v0 - move $s2 $s3 - sw $s2 8($s6) - lw $s2 8($s6) - move $s3 $s2 - lw $s2 0($s3) - lw $s7 80($s2) - move $s2 $s6 - move $s6 $s2 - sw $t3 -44($fp) - sw $t4 -48($fp) - sw $t5 -52($fp) - sw $t6 -56($fp) - sw $t7 -60($fp) - sw $t8 -64($fp) - move $a0 $s3 - move $a1 $s6 - jalr $s7 - lw $t3 -44($fp) - lw $t4 -48($fp) - lw $t5 -52($fp) - lw $t6 -56($fp) - lw $t7 -60($fp) - lw $t8 -64($fp) - move $s2 $v0 - move $s6 $s2 - move $s4 $s6 - j if805_end + move $s3 $s7 + move $s7 $s3 + lw $s3 0($s7) + lw $s2 16($s3) + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s7 + jalr $s2 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s3 $v0 + move $s2 $s3 + sw $s2 8($s6) + lw $s2 8($s6) + move $s3 $s2 + lw $s2 0($s3) + lw $s7 80($s2) + move $s2 $s6 + move $s6 $s2 + sw $t3 -44($fp) + sw $t4 -48($fp) + sw $t5 -52($fp) + sw $t6 -56($fp) + sw $t7 -60($fp) + sw $t8 -64($fp) + move $a0 $s3 + move $a1 $s6 + jalr $s7 + lw $t3 -44($fp) + lw $t4 -48($fp) + lw $t5 -52($fp) + lw $t6 -56($fp) + lw $t7 -60($fp) + lw $t8 -64($fp) + move $s2 $v0 + move $s6 $s2 + move $s4 $s6 + j if805_end if805_else: - li $s6 0 - move $s2 $s6 - move $s4 $s2 + li $s6 0 + move $s2 $s6 + move $s4 $s2 if805_end: - li $s2 0 - move $s4 $s2 - move $s2 $s4 - move $v0 $s2 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + li $s2 0 + move $s4 $s2 + move $s2 $s4 + move $v0 $s2 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra AllocArray: - sw $fp -8($sp) - move $fp $sp - subu $sp $sp 64 - sw $ra -4($fp) - sw $s0 -12($fp) - sw $s1 -16($fp) - sw $s2 -20($fp) - sw $s3 -24($fp) - sw $s4 -28($fp) - sw $s5 -32($fp) - sw $s6 -36($fp) - sw $s7 -40($fp) - move $s7 $a0 - move $a0 $s7 - li $t9 4 - mul $s6 $a0 $t9 - move $a0 $s6 - li $t9 4 - addu $s6 $a0 $t9 - move $a0 $s6 - jal _heapAlloc - move $s5 $v0 - sw $s7 0($s5) - move $v0 $s5 - lw $s0 -12($fp) - lw $s1 -16($fp) - lw $s2 -20($fp) - lw $s3 -24($fp) - lw $s4 -28($fp) - lw $s5 -32($fp) - lw $s6 -36($fp) - lw $s7 -40($fp) - lw $ra -4($fp) - lw $fp -8($fp) - addu $sp $sp 64 - jr $ra + sw $fp -8($sp) + move $fp $sp + subu $sp $sp 64 + sw $ra -4($fp) + sw $s0 -12($fp) + sw $s1 -16($fp) + sw $s2 -20($fp) + sw $s3 -24($fp) + sw $s4 -28($fp) + sw $s5 -32($fp) + sw $s6 -36($fp) + sw $s7 -40($fp) + move $s7 $a0 + move $a0 $s7 + li $t9 4 + mul $s6 $a0 $t9 + move $a0 $s6 + li $t9 4 + addu $s6 $a0 $t9 + move $a0 $s6 + jal _heapAlloc + move $s5 $v0 + sw $s7 0($s5) + move $v0 $s5 + lw $s0 -12($fp) + lw $s1 -16($fp) + lw $s2 -20($fp) + lw $s3 -24($fp) + lw $s4 -28($fp) + lw $s5 -32($fp) + lw $s6 -36($fp) + lw $s7 -40($fp) + lw $ra -4($fp) + lw $fp -8($fp) + addu $sp $sp 64 + jr $ra _print: - li $v0 1 # syscall: print integer - syscall - la $a0 _newline - li $v0 4 # syscall: print string - syscall - jr $ra + li $v0 1 # syscall: print integer + syscall + la $a0 _newline + li $v0 4 # syscall: print string + syscall + jr $ra _error: - li $v0 4 # syscall: print string - syscall - li $v0 10 # syscall: exit - syscall + li $v0 4 # syscall: print string + syscall + li $v0 10 # syscall: exit + syscall _heapAlloc: - li $v0 9 # syscall: sbrk - syscall - jr $ra -.data -.align 0 + li $v0 9 # syscall: sbrk + syscall + jr $ra + .data + .align 0 _newline: .asciiz "\n" _str0: .asciiz "null pointer\n" diff --git a/output/ex25.java b/output/ex25.java new file mode 100644 index 0000000..09ea656 --- /dev/null +++ b/output/ex25.java @@ -0,0 +1,38 @@ +class ex25 { + public static void main(String[] z) { + B a ; + B b ; + C c ; + a = new B() ; + b = new B() ; + c = new C() ; + System.out.println(c.play_with_classes(a, b)) ; + } +} + +class A { + + public int get_tt() { + return 32 ; + } + +} + +class B extends A { + + int useless ; + +} + +class C { + + public int play_with_classes(A a, B b) { + int ret ; + int x ; + int y ; + x = a.get_tt() ; + y = b.get_tt() ; + ret = x + y ; + return ret ; + } +} diff --git a/output/ex26.java b/output/ex26.java new file mode 100644 index 0000000..f10d2fc --- /dev/null +++ b/output/ex26.java @@ -0,0 +1,38 @@ +class StealMainArg { + public static void main(String[] z) { + A a ; + B b ; + C c ; + a = new A() ; + b = new B() ; + c = new C() ; + System.out.println(c.play_with_classes(a, b)) ; + } +} + +class A { + + public int get_tt() { + return 32 ; + } + +} + +class B extends A { + + int useless ; + +} + +class C { + + public int play_with_classes(A a, B b) { + int ret ; + int x ; + int y ; + x = a.get_tt() ; + y = b.get_tt() ; + ret = x + y ; + return ret ; + } +} diff --git a/output/ex27.java b/output/ex27.java new file mode 100644 index 0000000..a4bab1f --- /dev/null +++ b/output/ex27.java @@ -0,0 +1,384 @@ +// The classes are basically the same as the BinaryTree +// file except the visitor classes and the accept method +// in the Tree class + +class TreeVisitor{ + public static void main(String[] a){ + System.out.println(new TV().Start()); + } +} + +class TV { + + public int Start(){ + Tree root ; + boolean ntb ; + int nti ; + MyVisitor v ; + + root = new Tree(); + ntb = root.Init(16); + ntb = root.Print(); + System.out.println(100000000); + ntb = root.Insert(8) ; + ntb = root.Insert(24) ; + ntb = root.Insert(4) ; + ntb = root.Insert(12) ; + ntb = root.Insert(20) ; + ntb = root.Insert(28) ; + ntb = root.Insert(14) ; + ntb = root.Print(); + System.out.println(100000000); + v = new MyVisitor(); + System.out.println(50000000); + nti = root.accept(v); + System.out.println(100000000); + System.out.println(root.Search(24)); + System.out.println(root.Search(12)); + System.out.println(root.Search(16)); + System.out.println(root.Search(50)); + System.out.println(root.Search(12)); + ntb = root.Delete(12); + ntb = root.Print(); + System.out.println(root.Search(12)); + + return 0 ; + } + +} + + +class Tree{ + Tree left ; + Tree right; + int key ; + boolean has_left ; + boolean has_right ; + Tree my_null ; + + + + //Tree new_node ; + //Tree current_node ; + //Tree parent_node ; + + // boolean ntb ; + //boolean cont ; + //boolean found ; + //int ifound ; + // boolean is_root ; + // int nti ; + // int key_aux ; + // int auxkey1 ; + // int auxkey2 ; + + public boolean Init(int v_key){ + key = v_key ; + has_left = false ; + has_right = false ; + return true ; + } + + public boolean SetRight(Tree rn){ + right = rn ; + return true ; + } + + public boolean SetLeft(Tree ln){ + left = ln ; + return true ; + } + + public Tree GetRight(){ + return right ; + } + + public Tree GetLeft(){ + return left; + } + + public int GetKey(){ + return key ; + } + + public boolean SetKey(int v_key){ + key = v_key ; + return true ; + } + + public boolean GetHas_Right(){ + return has_right ; + } + + public boolean GetHas_Left(){ + return has_left ; + } + + public boolean SetHas_Left(boolean val){ + has_left = val ; + return true ; + } + + public boolean SetHas_Right(boolean val){ + has_right = val ; + return true ; + } + + public boolean Compare(int num1 , int num2){ + boolean ntb ; + int nti ; + + ntb = false ; + nti = num2 + 1 ; + if (num1 < num2) ntb = false ; + else if (!(num1 < nti)) ntb = false ; + else ntb = true ; + return ntb ; + } + + public boolean Insert(int v_key){ + Tree new_node ; + boolean ntb ; + Tree current_node ; + boolean cont ; + int key_aux ; + + new_node = new Tree(); + ntb = new_node.Init(v_key) ; + current_node = this ; + cont = true ; + while (cont){ + key_aux = current_node.GetKey(); + if (v_key < key_aux){ + if (current_node.GetHas_Left()) + current_node = current_node.GetLeft() ; + else { + cont = false ; + ntb = current_node.SetHas_Left(true); + ntb = current_node.SetLeft(new_node); + } + } + else{ + if (current_node.GetHas_Right()) + current_node = current_node.GetRight() ; + else { + cont = false ; + ntb = current_node.SetHas_Right(true); + ntb = current_node.SetRight(new_node); + } + } + } + return true ; + } + + public boolean Delete(int v_key){ + Tree current_node ; + Tree parent_node ; + boolean cont ; + boolean found ; + boolean ntb ; + boolean is_root ; + int key_aux ; + + current_node = this ; + parent_node = this ; + cont = true ; + found = false ; + is_root = true ; + while (cont){ + key_aux = current_node.GetKey(); + if (v_key < key_aux) + if (current_node.GetHas_Left()){ + parent_node = current_node ; + current_node = current_node.GetLeft() ; + } + else cont = false ; + else + if (key_aux < v_key) + if (current_node.GetHas_Right()){ + parent_node = current_node ; + current_node = current_node.GetRight() ; + } + else cont = false ; + else { + if (is_root) + if (!current_node.GetHas_Right() && + !current_node.GetHas_Left() ) + ntb = true ; + else + ntb = this.Remove(parent_node,current_node); + else ntb = this.Remove(parent_node,current_node); + found = true ; + cont = false ; + } + is_root = false ; + } + return found ; + } + + public boolean Remove(Tree p_node, Tree c_node){ + boolean ntb ; + int auxkey1 ; + int auxkey2 ; + + if (c_node.GetHas_Left()) + ntb = this.RemoveLeft(p_node,c_node) ; + else + if (c_node.GetHas_Right()) + ntb = this.RemoveRight(p_node,c_node) ; + else { + auxkey1 = c_node.GetKey(); + auxkey2 = (p_node.GetLeft()).GetKey() ; + if (this.Compare(auxkey1,auxkey2)) { + ntb = p_node.SetLeft(my_null); + ntb = p_node.SetHas_Left(false); + } + else { + ntb = p_node.SetRight(my_null); + ntb = p_node.SetHas_Right(false); + } + } + return true ; + } + + public boolean RemoveRight(Tree p_node, Tree c_node){ + boolean ntb ; + while (c_node.GetHas_Right()){ + ntb = c_node.SetKey((c_node.GetRight()).GetKey()); + p_node = c_node ; + c_node = c_node.GetRight() ; + } + ntb = p_node.SetRight(my_null); + ntb = p_node.SetHas_Right(false); + return true ; + } + + public boolean RemoveLeft(Tree p_node, Tree c_node){ + boolean ntb ; + while (c_node.GetHas_Left()){ + ntb = c_node.SetKey((c_node.GetLeft()).GetKey()); + p_node = c_node ; + c_node = c_node.GetLeft() ; + } + ntb = p_node.SetLeft(my_null); + ntb = p_node.SetHas_Left(false); + return true ; + } + + + public int Search(int v_key){ + Tree current_node ; + int ifound ; + boolean cont ; + int key_aux ; + + current_node = this ; + cont = true ; + ifound = 0 ; + while (cont){ + key_aux = current_node.GetKey(); + if (v_key < key_aux) + if (current_node.GetHas_Left()) + current_node = current_node.GetLeft() ; + else cont = false ; + else + if (key_aux < v_key) + if (current_node.GetHas_Right()) + current_node = current_node.GetRight() ; + else cont = false ; + else { + ifound = 1 ; + cont = false ; + } + } + return ifound ; + } + + public boolean Print(){ + boolean ntb ; + Tree current_node ; + Tree x ; + + current_node = this ; + ntb = this.RecPrint(current_node); + return true ; + } + + public boolean RecPrint(Tree node){ + boolean ntb ; + + if (node.GetHas_Left()){ + ntb = this.RecPrint(node.GetLeft()); + } else ntb = true ; + System.out.println(node.GetKey()); + if (node.GetHas_Right()){ + ntb = this.RecPrint(node.GetRight()); + } else ntb = true ; + return true ; + } + + public int accept(Visitor v){ + int nti ; + + System.out.println(333); + nti = v.visit(this) ; + return 0 ; + } + +} + + + +class Visitor { + Tree l ; + Tree r ; + + public int visit(Tree n){ + int nti ; + + if (n.GetHas_Right()){ + r = n.GetRight() ; + nti = r.accept(this) ; } + else nti = 0 ; + + if (n.GetHas_Left()) { + l = n.GetLeft(); + nti = l.accept(this) ; } + else nti = 0 ; + + return 0; + } + +} + + +class MyVisitor extends Visitor { + + Tree r; + + public int visit(Tree n){ + int nti ; + + MyVisitor y ; + Visitor x ; + + y = new MyVisitor() ; + + x = y ; + + if (n.GetHas_Right()){ + r = n.GetRight() ; + nti = r.accept(this) ; } + else nti = 0 ; + + System.out.println(n.GetKey()); + + if (n.GetHas_Left()) { + l = n.GetLeft(); + nti =l.accept(this) ; } + else nti = 0 ; + + return 0; + } + +} diff --git a/output/ex28.java b/output/ex28.java new file mode 100644 index 0000000..ae83f0e --- /dev/null +++ b/output/ex28.java @@ -0,0 +1,17 @@ +class StealMainArg { + public static void main(String[] z) { + A a ; + a = new A() ; + System.out.println(a.foo(3)) ; + } +} + +class A { + + int foo ; + + public int foo(int a) { + return a ; + } + +} diff --git a/output/negative/BadShadow-error.java b/output/negative/BadShadow-error.java new file mode 100644 index 0000000..ac337d3 --- /dev/null +++ b/output/negative/BadShadow-error.java @@ -0,0 +1,25 @@ +class ex33 { + public static void main(String[] z) { + A a ; + int[] b ; + a = new A() ; + b = new int[3] ; + System.out.println(a.bar(0-1, 400, 6*7)) ; + System.out.println(a.foo(12, 400)) ; + } +} + +class A { + + int o ; + int[] a ; + + public int foo(int a, int b) { + o = 3 ; + return a.length ; + } + + public int bar(int x, int y, int z) { + return 6 ; + } +} diff --git a/output/negative/CallNonSubType-error.java b/output/negative/CallNonSubType-error.java new file mode 100644 index 0000000..f1cc63d --- /dev/null +++ b/output/negative/CallNonSubType-error.java @@ -0,0 +1,38 @@ +class CallNonSubType { + public static void main(String[] z) { + A a ; + A b ; + C c ; + a = new A() ; + b = new A() ; + c = new C() ; + System.out.println(c.play_with_classes(a, b)) ; + } +} + +class A { + + public int get_tt() { + return 32 ; + } + +} + +class B extends A { + + int useless ; + +} + +class C { + + public int play_with_classes(A a, B b) { + int ret ; + int x ; + int y ; + x = a.get_tt() ; + y = b.get_tt() ; + ret = x + y ; + return ret ; + } +} diff --git a/output/negative/MisuseMainArg-error.java b/output/negative/MisuseMainArg-error.java new file mode 100644 index 0000000..416559c --- /dev/null +++ b/output/negative/MisuseMainArg-error.java @@ -0,0 +1,13 @@ +class StealMainArg { + public static void main(String[] z) { + z = new A() ; + System.out.println(z.foo(3)) ; + } +} + +class A { + + public int foo(int a) { + return a ; + } +} diff --git a/output/negative/NonDistinctMethods-error.java b/output/negative/NonDistinctMethods-error.java new file mode 100644 index 0000000..cfc0b01 --- /dev/null +++ b/output/negative/NonDistinctMethods-error.java @@ -0,0 +1,18 @@ +class StealMainArg { + public static void main(String[] z) { + A a ; + a = new A() ; + System.out.println(a.foo(3)) ; + } +} + +class A { + + public int foo(int a) { + return a ; + } + + public int foo(int b) { + return 1 ; + } +} diff --git a/output/negative/NonDistinctTypes-error.java b/output/negative/NonDistinctTypes-error.java new file mode 100644 index 0000000..9909e91 --- /dev/null +++ b/output/negative/NonDistinctTypes-error.java @@ -0,0 +1,17 @@ +class StealMainArg { + public static void main(String[] z) { + A a ; + a = new A() ; + System.out.println(a.foo(3)) ; + } +} + +class A { + + int b ; + boolean b ; + + public int foo(int a) { + return a ; + } +} diff --git a/output/negative/NotInt-error.java b/output/negative/NotInt-error.java new file mode 100644 index 0000000..ef7f014 --- /dev/null +++ b/output/negative/NotInt-error.java @@ -0,0 +1,17 @@ +class NotInt { + public static void main(String[] z) { + A a ; + a = new A() ; + System.out.println(12) ; + } +} + +class A { + + public int get_tt() { + int a ; + a = 3 ; + return !a ; + } + +} diff --git a/output/negative/StealMainArg-error.java b/output/negative/StealMainArg-error.java new file mode 100644 index 0000000..e8b6286 --- /dev/null +++ b/output/negative/StealMainArg-error.java @@ -0,0 +1,14 @@ +class StealMainArg { + public static void main(String[] z) { + A z ; + z = new A() ; + System.out.println(z.foo(3)) ; + } +} + +class A { + + public int foo(int a) { + return a ; + } +} diff --git a/output/negative/WrongAllocate-error1.java b/output/negative/WrongAllocate-error1.java new file mode 100644 index 0000000..072ac98 --- /dev/null +++ b/output/negative/WrongAllocate-error1.java @@ -0,0 +1,23 @@ +class WrongAllocate { + public static void main(String[] z) { + A a ; + B b ; + a = new B() ; + b = new A() ; + System.out.println(12) ; + } +} + +class A { + + public int get_tt() { + return 32 ; + } + +} + +class B extends A { + + int useless ; + +} diff --git a/st/SymTableClasses.java b/st/SymTableClasses.java index 3c0b761..02fd6eb 100644 --- a/st/SymTableClasses.java +++ b/st/SymTableClasses.java @@ -52,7 +52,7 @@ public class SymTableClasses<R> extends GJDepthFirst<R,SymbolTable> { n.f17.accept(this, symt); - TokenKey id = new TokenKey(n.f1.f0.tokenImage, null, null); + TokenKey id = new TokenKey(n.f1.f0.tokenImage, TypeEnum.classname, null, null); ClassInstance instance = new ClassInstance(id.getName()); symt.put(id, instance); @@ -76,7 +76,7 @@ public class SymTableClasses<R> extends GJDepthFirst<R,SymbolTable> { n.f5.accept(this, symt); - TokenKey id = new TokenKey(n.f1.f0.tokenImage, null, null); + TokenKey id = new TokenKey(n.f1.f0.tokenImage, TypeEnum.classname, null, null); ClassInstance instance = new ClassInstance(id.getName()); symt.put(id, instance); @@ -105,7 +105,7 @@ public class SymTableClasses<R> extends GJDepthFirst<R,SymbolTable> { n.f7.accept(this, symt); - TokenKey id = new TokenKey(n.f1.f0.tokenImage, null, null); + TokenKey id = new TokenKey(n.f1.f0.tokenImage, TypeEnum.classname, null, null); ClassInstance instance = new ClassInstance(id.getName()); symt.put(id, instance); diff --git a/st/SymTableMethods.java b/st/SymTableMethods.java index 5adac56..9f17b0c 100644 --- a/st/SymTableMethods.java +++ b/st/SymTableMethods.java @@ -53,7 +53,7 @@ public class SymTableMethods<R> extends GJDepthFirst<R,SymbolTable> { n.f16.accept(this, symt); n.f17.accept(this, symt); - TokenKey id = new TokenKey(n.f6.tokenImage, (ClassInstance) symt.getActive(TypeEnum.classname), null); + TokenKey id = new TokenKey(n.f6.tokenImage, TypeEnum.method, (ClassInstance) symt.getActive(TypeEnum.classname), null); MethodInstance main = new MethodInstance(id.getName(), null, (ClassInstance) symt.getActive(TypeEnum.classname)); symt.put(id, main); @@ -144,7 +144,7 @@ public class SymTableMethods<R> extends GJDepthFirst<R,SymbolTable> { - TokenKey id = new TokenKey(n.f2.f0.tokenImage, (ClassInstance) symt.getActive(TypeEnum.classname), null); + TokenKey id = new TokenKey(n.f2.f0.tokenImage, TypeEnum.method, (ClassInstance) symt.getActive(TypeEnum.classname), null); ClassInstance rtrn = null; switch (n.f1.f0.which) { case 0: diff --git a/st/SymTableVars.java b/st/SymTableVars.java index 014beb1..b9a7c1b 100644 --- a/st/SymTableVars.java +++ b/st/SymTableVars.java @@ -55,6 +55,17 @@ public class SymTableVars<R> extends GJDepthFirst<R,SymbolTable> { n.f16.accept(this, symt); n.f17.accept(this, symt); + // add the "string" arg + TokenKey s = new TokenKey(n.f11.f0.tokenImage, + TypeEnum.integer, + (ClassInstance) symt.getActive(TypeEnum.classname), + (MethodInstance) symt.getActive(TypeEnum.method)); + TypeInstance instance = new TypeInstance(s.getName(), TypeEnum.string, (MethodInstance) symt.getActive(TypeEnum.method), + (ClassInstance) symt.getActive(TypeEnum.classname)); + symt.put(s, instance); + symt.addParameter(s.getName()); + + symt.addMethod(id); symt.removeActive(TypeEnum.method); symt.removeActive(TypeEnum.classname); @@ -119,6 +130,7 @@ public class SymTableVars<R> extends GJDepthFirst<R,SymbolTable> { n.f1.accept(this, symt); n.f2.accept(this, symt); TokenKey id = new TokenKey(n.f1.f0.tokenImage, + TypeEnum.integer, (ClassInstance) symt.getActive(TypeEnum.classname), (MethodInstance) symt.getActive(TypeEnum.method)); TypeEnum rtrn = null; @@ -191,6 +203,7 @@ public class SymTableVars<R> extends GJDepthFirst<R,SymbolTable> { n.f0.accept(this, symt); n.f1.accept(this, symt); TokenKey id = new TokenKey(n.f1.f0.tokenImage, + TypeEnum.integer, (ClassInstance) symt.getActive(TypeEnum.classname), (MethodInstance) symt.getActive(TypeEnum.method)); diff --git a/st/SymbolTable.java b/st/SymbolTable.java index 15d33a0..fa6bdf2 100644 --- a/st/SymbolTable.java +++ b/st/SymbolTable.java @@ -62,6 +62,7 @@ public class SymbolTable { cls.getName(), cls.getType())); cls.addLocal(t); this.symt.put(new TokenKey(t.getName(), + TypeEnum.integer, cls, null), t); @@ -71,6 +72,7 @@ public class SymbolTable { m.getName(), m.getType(), cls.getName(), cls.getType())); this.symt.put(new TokenKey(m.getName(), + TypeEnum.method, cls, null), m); @@ -150,6 +152,7 @@ public class SymbolTable { public TypeInstance getType(String name) { TokenKey id = new TokenKey(name, + TypeEnum.integer, (ClassInstance) this.getActive(TypeEnum.classname), (MethodInstance) this.getActive(TypeEnum.method)); AbstractInstance symbol; @@ -164,6 +167,7 @@ public class SymbolTable { public TypeInstance getTypeAttr(String name) { TokenKey id = new TokenKey(name, + TypeEnum.integer, (ClassInstance) this.getActive(TypeEnum.classname), null); AbstractInstance symbol; @@ -179,6 +183,7 @@ public class SymbolTable { public MethodInstance getMethod(String name) { TokenKey id = new TokenKey(name, + TypeEnum.method, (ClassInstance) this.getActive(TypeEnum.classname), null); AbstractInstance symbol; @@ -193,6 +198,7 @@ public class SymbolTable { public MethodInstance getMethod(String name, ClassInstance c) { TokenKey id = new TokenKey(name, + TypeEnum.method, c, null); AbstractInstance symbol; @@ -207,6 +213,7 @@ public class SymbolTable { public ClassInstance getClass(String name) { TokenKey id = new TokenKey(name, + TypeEnum.classname, null, null); AbstractInstance symbol; diff --git a/st/TokenKey.java b/st/TokenKey.java index 948e06a..a421c95 100644 --- a/st/TokenKey.java +++ b/st/TokenKey.java @@ -10,18 +10,21 @@ import misc.*; public class TokenKey { private String name; + private TypeEnum type; private AbstractInstance cls; // null for classes private AbstractInstance mtd; // null for classes, methods - public TokenKey(String name, AbstractInstance cls, AbstractInstance mtd) { + public TokenKey(String name, TypeEnum type, AbstractInstance cls, AbstractInstance mtd) { this.name = name; + this.type = type; this.cls = cls; this.mtd = mtd; } @Override public String toString() { - return String.format("%s (%s,%s)", + return String.format("%s of %s (%s,%s)", this.name, + this.type, this.mtd, this.cls); } @@ -47,6 +50,8 @@ public class TokenKey { // } if (other instanceof TokenKey && (o = (TokenKey) other).name.equals(this.name) && + ((o.type == null && this.type == null) || + (o.type != null && o.type.equals(this.type))) && ((o.cls == null && this.cls == null) || (o.cls != null && o.cls.equals(this.cls))) && ((o.mtd == null && this.mtd == null) || diff --git a/st/TypeEnum.java b/st/TypeEnum.java index e469828..1782e8b 100644 --- a/st/TypeEnum.java +++ b/st/TypeEnum.java @@ -1,5 +1,5 @@ package st; public enum TypeEnum { - classname, method, intarray, bool, integer + classname, method, intarray, bool, integer, string } |