You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SQA-Homework/afl_fuzz/tests/BASIC/basic.s

20702 lines
283 KiB

.globl main
main:
la $t0, __return_here
sw $t0, 4($sp)
j entry
__return_here:
li $v0, 10
syscall
.globl inputd
inputd:
li $v0, 5
syscall
sw $v0, 0($sp)
lw $ra, 4($sp)
jr $ra
.globl prints
prints:
lw $a0, 0($sp)
li $v0, 4
syscall
lw $ra, 8($sp)
jr $ra
.globl printd
printd:
lw $a0, 0($sp)
li $v0, 1
syscall
lw $ra, 8($sp)
jr $ra
.globl inputs
inputs:
lw $a0, 4($sp)
lw $a1, 0($sp)
li $v0, 8
syscall
lw $ra, 12($sp)
jr $ra
.globl inputc
inputc:
li $v0, 12
syscall
sw $v0, 0($sp)
lw $ra, 4($sp)
jr $ra
.globl printc
printc:
lb $a0, 0($sp)
li $v0, 11
syscall
lw $ra, 8($sp)
jr $ra
.globl malloc
malloc:
lw $a0, 0($sp)
li $v0, 9
syscall
sw $v0, 4($sp)
lw $ra, 8($sp)
jr $ra
.data
.text
.data
.align 2
_kmalloc_heap:
.space 4
.text
.data
.align 2
_kmalloc_end:
.space 4
.text
.data
.align 2
INT_SIZE:
.space 4
.text
.data
.align 2
POINTER_SIZE:
.space 4
.text
.data
.align 2
CHAR_SIZE:
.space 4
.text
.globl kmalloc_init
kmalloc_init:
addi $sp, $sp, 0
la $s0, _kmalloc_heap
lw $s1, 4($sp)
sw $s1, 0($s0)
move $s0, $s1
la $s0, _kmalloc_end
lw $s1, 4($sp)
lw $s2, 0($sp)
li $s3, 2
srav $s2, $s2, $s3
sll $s2, $s2, 2
add $s1, $s1, $s2
li $s2, 3
sll $s2, $s2, 2
sub $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
la $s0, _kmalloc_heap
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
la $s0, _kmalloc_heap
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, _kmalloc_end
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
la $s0, _kmalloc_heap
lw $s0, 0($s0)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
la $s0, _kmalloc_end
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, _kmalloc_heap
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
la $s0, _kmalloc_end
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
la $s0, _kmalloc_end
lw $s0, 0($s0)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
la $s0, INT_SIZE
li $s1, 4
sw $s1, 0($s0)
move $s0, $s1
la $s0, POINTER_SIZE
li $s1, 4
sw $s1, 0($s0)
move $s0, $s1
la $s0, CHAR_SIZE
li $s1, 4
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 0
lw $ra, 12($sp)
jr $ra
.globl _kmalloc_merge
_kmalloc_merge:
addi $sp, $sp, -4
lw $s0, 4($sp)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
seq $s0, $s0, $zero
beq $s0, $zero, __L0
__L1:
lw $s0, 4($sp)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
seq $s0, $s0, $zero
beq $s0, $zero, __L2
addi $s0, $sp, 0
lw $s1, 4($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 4
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 0($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 4($sp)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 4($sp)
sw $s1, 0($s0)
move $s0, $s1
j __L1
__L2:
__L0:
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl kmalloc
kmalloc:
addi $sp, $sp, -8
lw $s0, 8($sp)
li $s1, 3
and $s0, $s0, $s1
beq $s0, $zero, __L3
addi $s0, $sp, 8
lw $s1, 8($sp)
li $s2, 2
srav $s1, $s1, $s2
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L4
__L3:
addi $s0, $sp, 8
lw $s1, 8($sp)
li $s2, 2
srav $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
__L4:
addi $s0, $sp, 4
la $s1, _kmalloc_heap
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
__L5:
lw $s0, 4($sp)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
beq $s0, $zero, __L6
addi $sp, $sp, -16
la $s0, _kmalloc_merge
sw $s0, 12($sp)
la $t0, __L8
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L8:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 4($sp)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
seq $s0, $s0, $zero
beq $s0, $zero, __L10
lw $s1, 4($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
lw $s2, 4($sp)
sub $s1, $s1, $s2
sra $s1, $s1, 2
li $s2, 6
sub $s1, $s1, $s2
lw $s2, 8($sp)
slt $s1, $s1, $s2
seq $s1, $s1, $zero
sne $s1, $s1, $zero
move $s0, $s1
__L10:
beq $s0, $zero, __L11
addi $s0, $sp, 0
lw $s1, 4($sp)
lw $s2, 8($sp)
sll $s2, $s2, 2
add $s1, $s1, $s2
li $s2, 3
sll $s2, $s2, 2
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 4($sp)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 4($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 4
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 0($sp)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 4
lw $s0, 0($s0)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 4($sp)
li $s1, 3
sll $s1, $s1, 2
add $s0, $s0, $s1
sw $s0, 12($sp)
addi $sp, $sp, 8
lw $ra, 8($sp)
jr $ra
__L11:
addi $s0, $sp, 4
lw $s1, 4($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
j __L5
__L6:
li $s0, 0
sw $s0, 12($sp)
addi $sp, $sp, 8
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 8
lw $ra, 8($sp)
jr $ra
.globl kfree
kfree:
addi $sp, $sp, -4
addi $s0, $sp, 0
lw $s1, 4($sp)
li $s2, 3
sll $s2, $s2, 2
sub $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.data
.text
.globl create_linked_list
create_linked_list:
addi $sp, $sp, -4
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L13
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 3
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L13:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 4($sp)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl free_linked_list
free_linked_list:
addi $sp, $sp, -4
__L14:
lw $s0, 8($sp)
beq $s0, $zero, __L15
addi $sp, $sp, -16
lw $s0, 20($sp)
sw $s0, 12($sp)
la $t0, __L17
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
li $s0, 0
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L17:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $s0, $sp, 0
lw $s1, 8($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L19
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L19:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $s0, $sp, 8
lw $s1, 0($sp)
sw $s1, 0($s0)
move $s0, $s1
j __L14
__L15:
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
.globl get_list_value
get_list_value:
addi $sp, $sp, 0
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl next_list
next_list:
addi $sp, $sp, 0
lw $s0, 0($sp)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl previous_list
previous_list:
addi $sp, $sp, 0
lw $s0, 0($sp)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl add_value
add_value:
addi $sp, $sp, -8
addi $sp, $sp, -20
addi $s0, $sp, 24
la $s1, create_linked_list
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L21
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L21:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
lw $s1, 12($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 12($sp)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 4($sp)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 4($sp)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 0($sp)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 4($sp)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 12($sp)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
beq $s0, $zero, __L22
lw $s0, 0($sp)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 4($sp)
sw $s1, 0($s0)
move $s0, $s1
__L22:
addi $sp, $sp, 8
lw $ra, 12($sp)
jr $ra
.globl remove_value
remove_value:
addi $sp, $sp, -8
addi $sp, $sp, -16
lw $s0, 24($sp)
sw $s0, 12($sp)
la $t0, __L24
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
li $s0, 0
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L24:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $s0, $sp, 4
lw $s1, 12($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 0
lw $s1, 12($sp)
li $s2, 2
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L26
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L26:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 4($sp)
beq $s0, $zero, __L27
lw $s0, 4($sp)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 0($sp)
sw $s1, 0($s0)
move $s0, $s1
__L27:
lw $s0, 0($sp)
beq $s0, $zero, __L28
lw $s0, 0($sp)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 4($sp)
sw $s1, 0($s0)
move $s0, $s1
__L28:
addi $sp, $sp, 8
lw $ra, 12($sp)
jr $ra
.data
.text
.globl create_dictionary
create_dictionary:
addi $sp, $sp, -8
addi $sp, $sp, -20
addi $s0, $sp, 24
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L30
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 17
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L30:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
__L31:
lw $s0, 0($sp)
li $s1, 16
slt $s0, $s0, $s1
beq $s0, $zero, __L32
j __L33
__L34:
addi $s0, $sp, 0
lw $s1, 0($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L31
__L33:
addi $s0, $sp, 4
lw $s0, 0($s0)
lw $s1, 0($sp)
sll $s1, $s1, 2
add $s0, $s0, $s1
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
j __L34
__L32:
addi $s0, $sp, 4
lw $s0, 0($s0)
li $s1, 16
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 8($sp)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 4($sp)
sw $s0, 12($sp)
addi $sp, $sp, 8
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 8
lw $ra, 8($sp)
jr $ra
.globl free_dictionary
free_dictionary:
addi $sp, $sp, -4
addi $s0, $sp, 0
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
__L35:
lw $s0, 0($sp)
li $s1, 16
slt $s0, $s0, $s1
beq $s0, $zero, __L36
j __L37
__L38:
addi $s0, $sp, 0
lw $s1, 0($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L35
__L37:
lw $s0, 8($sp)
lw $s1, 0($sp)
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
beq $s0, $zero, __L39
addi $sp, $sp, -20
la $s0, free_dictionary
sw $s0, 16($sp)
la $t0, __L41
sw $t0, 12($sp)
lw $t0, 28($sp)
sw $t0, 4($sp)
lw $s0, 20($sp)
sll $s0, $s0, 2
lw $t0, 4($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L41:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
__L39:
j __L38
__L36:
lw $s0, 8($sp)
li $s1, 16
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
beq $s0, $zero, __L42
addi $sp, $sp, -16
lw $s0, 20($sp)
sw $s0, 12($sp)
la $t0, __L44
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
li $s0, 16
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L44:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L42:
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L46
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L46:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
.globl read_dictionary
read_dictionary:
addi $sp, $sp, -4
lw $s0, 8($sp)
lb $s0, 0($s0)
seq $s0, $s0, $zero
beq $s0, $zero, __L47
lw $s0, 12($sp)
li $s1, 16
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
sw $s0, 16($sp)
addi $sp, $sp, 4
lw $ra, 16($sp)
jr $ra
__L47:
lb $s0, 4($sp)
seq $s0, $s0, $zero
beq $s0, $zero, __L48
addi $s0, $sp, 0
lw $s1, 8($sp)
lb $s1, 0($s1)
li $s2, 240
and $s1, $s1, $s2
li $s2, 4
srav $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 12($sp)
lw $s1, 0($sp)
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
seq $s0, $s0, $zero
beq $s0, $zero, __L49
addi $sp, $sp, -20
addi $s0, $sp, 32
lw $s0, 0($s0)
lw $s1, 20($sp)
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, create_dictionary
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L51
sw $t0, 8($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L51:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
__L49:
addi $sp, $sp, -24
la $s0, read_dictionary
sw $s0, 20($sp)
la $t0, __L53
sw $t0, 16($sp)
lw $t0, 36($sp)
sw $t0, 8($sp)
lw $s0, 24($sp)
sll $s0, $s0, 2
lw $t0, 8($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 8($sp)
lw $t0, 32($sp)
sw $t0, 4($sp)
li $t0, 1
sw $t0, 0($sp)
lw $t0, 0($sp)
sll $t0, $t0, 24
sra $t0, $t0, 24
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L53:
addi $sp, $sp, 0
lw $t0, 12($sp)
lw $s0, 20($sp)
move $s0, $t0
addi $sp, $sp, 24
sw $s0, 16($sp)
addi $sp, $sp, 4
lw $ra, 16($sp)
jr $ra
j __L54
__L48:
addi $s0, $sp, 0
lw $s1, 8($sp)
lb $s1, 0($s1)
li $s2, 15
and $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 12($sp)
lw $s1, 0($sp)
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
seq $s0, $s0, $zero
beq $s0, $zero, __L55
addi $sp, $sp, -20
addi $s0, $sp, 32
lw $s0, 0($s0)
lw $s1, 20($sp)
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, create_dictionary
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L57
sw $t0, 8($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L57:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
__L55:
addi $sp, $sp, -24
la $s0, read_dictionary
sw $s0, 20($sp)
la $t0, __L59
sw $t0, 16($sp)
lw $t0, 36($sp)
sw $t0, 8($sp)
lw $s0, 24($sp)
sll $s0, $s0, 2
lw $t0, 8($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 8($sp)
lw $t0, 32($sp)
sw $t0, 4($sp)
li $s0, 1
lw $t0, 4($sp)
add $t0, $t0, $s0
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 0($sp)
sll $t0, $t0, 24
sra $t0, $t0, 24
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L59:
addi $sp, $sp, 0
lw $t0, 12($sp)
lw $s0, 20($sp)
move $s0, $t0
addi $sp, $sp, 24
sw $s0, 16($sp)
addi $sp, $sp, 4
lw $ra, 16($sp)
jr $ra
__L54:
addi $sp, $sp, 4
lw $ra, 16($sp)
jr $ra
.globl write_dictionary
write_dictionary:
addi $sp, $sp, -4
lw $s0, 12($sp)
lb $s0, 0($s0)
seq $s0, $s0, $zero
beq $s0, $zero, __L60
addi $s0, $sp, 16
lw $s0, 0($s0)
li $s1, 16
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 8($sp)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 4
lw $ra, 20($sp)
jr $ra
__L60:
lb $s0, 4($sp)
seq $s0, $s0, $zero
beq $s0, $zero, __L61
addi $s0, $sp, 0
lw $s1, 12($sp)
lb $s1, 0($s1)
li $s2, 240
and $s1, $s1, $s2
li $s2, 4
srav $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 16($sp)
lw $s1, 0($sp)
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
seq $s0, $s0, $zero
beq $s0, $zero, __L62
addi $sp, $sp, -20
addi $s0, $sp, 36
lw $s0, 0($s0)
lw $s1, 20($sp)
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, create_dictionary
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L64
sw $t0, 8($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L64:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
__L62:
addi $sp, $sp, -28
la $s0, write_dictionary
sw $s0, 24($sp)
la $t0, __L66
sw $t0, 20($sp)
lw $t0, 44($sp)
sw $t0, 12($sp)
lw $s0, 28($sp)
sll $s0, $s0, 2
lw $t0, 12($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 12($sp)
lw $t0, 40($sp)
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 4($sp)
li $t0, 1
sw $t0, 0($sp)
lw $t0, 0($sp)
sll $t0, $t0, 24
sra $t0, $t0, 24
sw $t0, 0($sp)
lw $t0, 24($sp)
addi $sp, $sp, 0
jr $t0
__L66:
addi $sp, $sp, 0
lw $t0, 16($sp)
lw $s0, 24($sp)
move $s0, $t0
addi $sp, $sp, 28
j __L67
__L61:
addi $s0, $sp, 0
lw $s1, 12($sp)
lb $s1, 0($s1)
li $s2, 15
and $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 16($sp)
lw $s1, 0($sp)
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
seq $s0, $s0, $zero
beq $s0, $zero, __L68
addi $sp, $sp, -20
addi $s0, $sp, 36
lw $s0, 0($s0)
lw $s1, 20($sp)
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, create_dictionary
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L70
sw $t0, 8($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L70:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
__L68:
addi $sp, $sp, -28
la $s0, write_dictionary
sw $s0, 24($sp)
la $t0, __L72
sw $t0, 20($sp)
lw $t0, 44($sp)
sw $t0, 12($sp)
lw $s0, 28($sp)
sll $s0, $s0, 2
lw $t0, 12($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 12($sp)
lw $t0, 40($sp)
sw $t0, 8($sp)
li $s0, 1
lw $t0, 8($sp)
add $t0, $t0, $s0
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 0($sp)
sll $t0, $t0, 24
sra $t0, $t0, 24
sw $t0, 0($sp)
lw $t0, 24($sp)
addi $sp, $sp, 0
jr $t0
__L72:
addi $sp, $sp, 0
lw $t0, 16($sp)
lw $s0, 24($sp)
move $s0, $t0
addi $sp, $sp, 28
__L67:
addi $sp, $sp, 4
lw $ra, 20($sp)
jr $ra
.data
__str0:
.asciiz "SUBSTR"
__str1:
.asciiz "STR"
__str2:
.asciiz "\""
__str3:
.asciiz "\""
__str4:
.asciiz "["
__str5:
.asciiz "]"
__str6:
.asciiz "("
__str7:
.asciiz ")"
__str8:
.asciiz " + ("
__str9:
.asciiz ")"
__str10:
.asciiz "("
__str11:
.asciiz ")"
__str12:
.asciiz " - ("
__str13:
.asciiz ")"
__str14:
.asciiz "("
__str15:
.asciiz ")"
__str16:
.asciiz " * ("
__str17:
.asciiz ")"
__str18:
.asciiz "("
__str19:
.asciiz ")"
__str20:
.asciiz " / ("
__str21:
.asciiz ")"
__str22:
.asciiz "("
__str23:
.asciiz ")"
__str24:
.asciiz " = ("
__str25:
.asciiz ")"
__str26:
.asciiz "("
__str27:
.asciiz ")"
__str28:
.asciiz " != ("
__str29:
.asciiz ")"
__str30:
.asciiz "("
__str31:
.asciiz ")"
__str32:
.asciiz " > ("
__str33:
.asciiz ")"
__str34:
.asciiz "("
__str35:
.asciiz ")"
__str36:
.asciiz " < ("
__str37:
.asciiz ")"
__str38:
.asciiz "("
__str39:
.asciiz ")"
__str40:
.asciiz " & ("
__str41:
.asciiz ")"
__str42:
.asciiz "("
__str43:
.asciiz ")"
__str44:
.asciiz " | ("
__str45:
.asciiz ")"
__str46:
.asciiz "SUBSTR("
__str47:
.asciiz ", "
__str48:
.asciiz ", "
__str49:
.asciiz ")"
__str50:
.asciiz "STR("
__str51:
.asciiz ")"
__str52:
.asciiz "PRINT "
__str53:
.asciiz "INPUT "
__str54:
.asciiz "INPUTSTR "
__str55:
.asciiz "LET "
__str56:
.asciiz " = "
__str57:
.asciiz "DIM "
__str58:
.asciiz ", "
__str59:
.asciiz "IF "
__str60:
.asciiz "GOTO "
__str61:
.asciiz "GOSUB "
__str62:
.asciiz "WHILE "
__str63:
.asciiz "RUN"
__str64:
.asciiz "IF"
__str65:
.asciiz "WHILE"
__str66:
.asciiz "END IF"
__str67:
.asciiz "END WHILE"
__str68:
.asciiz "END"
__str69:
.asciiz "RETURN"
__str70:
.asciiz "LIST"
__str71:
.asciiz "PRINT"
__str72:
.asciiz "INPUT"
__str73:
.asciiz "INPUTSTR"
__str74:
.asciiz "RUN"
__str75:
.asciiz "END"
__str76:
.asciiz "IF"
__str77:
.asciiz "WHILE"
__str78:
.asciiz "LET"
__str79:
.asciiz "DIM"
__str80:
.asciiz "GOTO"
__str81:
.asciiz "GOSUB"
__str82:
.asciiz "RETURN"
__str83:
.asciiz "LIST"
.text
.data
.align 2
INT_TOKEN:
.space 4
.text
.data
.align 2
STR_TOKEN:
.space 4
.text
.data
.align 2
VAR_TOKEN:
.space 4
.text
.data
.align 2
SUBSTRING:
.space 4
.text
.data
.align 2
STRFUNC:
.space 4
.text
.data
.align 2
PLUS:
.space 4
.text
.data
.align 2
MINUS:
.space 4
.text
.data
.align 2
MULTIPLY:
.space 4
.text
.data
.align 2
DIVIDE:
.space 4
.text
.data
.align 2
EQUALS:
.space 4
.text
.data
.align 2
GREATER_THAN:
.space 4
.text
.data
.align 2
LESS_THAN:
.space 4
.text
.data
.align 2
NOT_EQUALS:
.space 4
.text
.data
.align 2
AND:
.space 4
.text
.data
.align 2
OR:
.space 4
.text
.data
.align 2
INTVAR:
.space 4
.text
.data
.align 2
STRVAR:
.space 4
.text
.data
.align 2
PRINT:
.space 4
.text
.data
.align 2
INPUT:
.space 4
.text
.data
.align 2
INPUTSTR:
.space 4
.text
.data
.align 2
RUN:
.space 4
.text
.data
.align 2
END:
.space 4
.text
.data
.align 2
IF:
.space 4
.text
.data
.align 2
WHILE:
.space 4
.text
.data
.align 2
LET:
.space 4
.text
.data
.align 2
DIM:
.space 4
.text
.data
.align 2
GOSUB:
.space 4
.text
.data
.align 2
GOTO:
.space 4
.text
.data
.align 2
RETURN:
.space 4
.text
.data
.align 2
LIST:
.space 4
.text
.data
.align 2
error:
.space 4
.text
.globl init_tokens
init_tokens:
addi $sp, $sp, 0
la $s0, INT_TOKEN
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
la $s0, STR_TOKEN
li $s1, 2
sw $s1, 0($s0)
move $s0, $s1
la $s0, SUBSTRING
li $s1, 3
sw $s1, 0($s0)
move $s0, $s1
la $s0, STRFUNC
li $s1, 4
sw $s1, 0($s0)
move $s0, $s1
la $s0, PLUS
li $s1, 5
sw $s1, 0($s0)
move $s0, $s1
la $s0, MINUS
li $s1, 6
sw $s1, 0($s0)
move $s0, $s1
la $s0, MULTIPLY
li $s1, 7
sw $s1, 0($s0)
move $s0, $s1
la $s0, DIVIDE
li $s1, 8
sw $s1, 0($s0)
move $s0, $s1
la $s0, EQUALS
li $s1, 9
sw $s1, 0($s0)
move $s0, $s1
la $s0, GREATER_THAN
li $s1, 10
sw $s1, 0($s0)
move $s0, $s1
la $s0, LESS_THAN
li $s1, 11
sw $s1, 0($s0)
move $s0, $s1
la $s0, NOT_EQUALS
li $s1, 12
sw $s1, 0($s0)
move $s0, $s1
la $s0, AND
li $s1, 13
sw $s1, 0($s0)
move $s0, $s1
la $s0, OR
li $s1, 14
sw $s1, 0($s0)
move $s0, $s1
la $s0, VAR_TOKEN
li $s1, 15
sw $s1, 0($s0)
move $s0, $s1
la $s0, INTVAR
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
la $s0, STRVAR
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
la $s0, PRINT
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
la $s0, INPUT
li $s1, 2
sw $s1, 0($s0)
move $s0, $s1
la $s0, INPUTSTR
li $s1, 3
sw $s1, 0($s0)
move $s0, $s1
la $s0, RUN
li $s1, 4
sw $s1, 0($s0)
move $s0, $s1
la $s0, END
li $s1, 5
sw $s1, 0($s0)
move $s0, $s1
la $s0, IF
li $s1, 6
sw $s1, 0($s0)
move $s0, $s1
la $s0, WHILE
li $s1, 7
sw $s1, 0($s0)
move $s0, $s1
la $s0, DIM
li $s1, 8
sw $s1, 0($s0)
move $s0, $s1
la $s0, GOSUB
li $s1, 9
sw $s1, 0($s0)
move $s0, $s1
la $s0, GOTO
li $s1, 10
sw $s1, 0($s0)
move $s0, $s1
la $s0, RETURN
li $s1, 11
sw $s1, 0($s0)
move $s0, $s1
la $s0, LIST
li $s1, 12
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 0
lw $ra, 4($sp)
jr $ra
.globl alpha
alpha:
addi $sp, $sp, 0
lb $s0, 0($sp)
li $s1, 97
slt $s0, $s0, $s1
seq $s0, $s0, $zero
beq $s0, $zero, __L76
lb $s1, 0($sp)
li $s2, 122
sgt $s1, $s1, $s2
seq $s1, $s1, $zero
sne $s1, $s1, $zero
move $s0, $s1
__L76:
sne $s0, $s0, $zero
bne $s0, $zero, __L77
lb $s1, 0($sp)
li $s2, 65
slt $s1, $s1, $s2
seq $s1, $s1, $zero
beq $s1, $zero, __L78
lb $s2, 0($sp)
li $s3, 90
sgt $s2, $s2, $s3
seq $s2, $s2, $zero
sne $s2, $s2, $zero
move $s1, $s2
__L78:
sne $s1, $s1, $zero
move $s0, $s1
__L77:
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl digit
digit:
addi $sp, $sp, 0
lb $s0, 0($sp)
li $s1, 48
slt $s0, $s0, $s1
seq $s0, $s0, $zero
beq $s0, $zero, __L80
lb $s1, 0($sp)
li $s2, 57
sgt $s1, $s1, $s2
seq $s1, $s1, $zero
sne $s1, $s1, $zero
move $s0, $s1
__L80:
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl skip_whitespace
skip_whitespace:
addi $sp, $sp, 0
__L81:
lw $s0, 0($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
beq $s0, $zero, __L86
lw $s1, 0($sp)
lw $s1, 0($s1)
lb $s1, 0($s1)
li $s2, 32
seq $s1, $s1, $s2
sne $s1, $s1, $zero
bne $s1, $zero, __L87
lw $s2, 0($sp)
lw $s2, 0($s2)
lb $s2, 0($s2)
li $s3, 9
seq $s2, $s2, $s3
sne $s2, $s2, $zero
move $s1, $s2
__L87:
sne $s1, $s1, $zero
bne $s1, $zero, __L88
lw $s2, 0($sp)
lw $s2, 0($s2)
lb $s2, 0($s2)
li $s3, 10
seq $s2, $s2, $s3
sne $s2, $s2, $zero
move $s1, $s2
__L88:
sne $s1, $s1, $zero
move $s0, $s1
__L86:
beq $s0, $zero, __L82
lw $s0, 0($sp)
lw $s1, 0($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L81
__L82:
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl strcmp
strcmp:
addi $sp, $sp, 0
__L89:
lw $s0, 4($sp)
lb $s0, 0($s0)
beq $s0, $zero, __L92
lw $s1, 4($sp)
lb $s1, 0($s1)
lw $s2, 0($sp)
lb $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L92:
beq $s0, $zero, __L90
addi $s0, $sp, 4
lw $s1, 4($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 0
lw $s1, 0($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L89
__L90:
lw $s0, 0($sp)
lb $s0, 0($s0)
lw $s1, 4($sp)
lb $s1, 0($s1)
sub $s0, $s0, $s1
sw $s0, 8($sp)
addi $sp, $sp, 0
lw $ra, 12($sp)
jr $ra
addi $sp, $sp, 0
lw $ra, 12($sp)
jr $ra
.globl create_variable
create_variable:
addi $sp, $sp, -4
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L94
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 3
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L94:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 12($sp)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 8($sp)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 4($sp)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
sw $s0, 16($sp)
addi $sp, $sp, 4
lw $ra, 16($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 16($sp)
jr $ra
.globl get_word
get_word:
addi $sp, $sp, 0
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L96
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L96:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L97:
addi $sp, $sp, -24
lw $s0, 24($sp)
beq $s0, $zero, __L104
la $s1, alpha
sw $s1, 20($sp)
sw $s0, 16($sp)
la $t0, __L105
sw $t0, 12($sp)
lw $t0, 28($sp)
sw $t0, 4($sp)
lw $t0, 4($sp)
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 4($sp)
lb $t0, 0($t0)
sb $t0, 4($sp)
lw $t0, 20($sp)
addi $sp, $sp, 4
jr $t0
__L105:
addi $sp, $sp, -4
lw $t0, 8($sp)
lw $s0, 16($sp)
lw $s1, 20($sp)
move $s1, $t0
sne $s1, $s1, $zero
bne $s1, $zero, __L106
la $s2, digit
sw $s2, 20($sp)
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L107
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 0($sp)
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 0($sp)
lb $t0, 0($t0)
sb $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L107:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
lw $s2, 20($sp)
move $s2, $t0
sne $s2, $s2, $zero
move $s1, $s2
__L106:
sne $s1, $s1, $zero
bne $s1, $zero, __L108
lw $s2, 28($sp)
lw $s2, 0($s2)
lb $s2, 0($s2)
li $s3, 95
seq $s2, $s2, $s3
sne $s2, $s2, $zero
move $s1, $s2
__L108:
sne $s1, $s1, $zero
move $s0, $s1
__L104:
addi $sp, $sp, 24
beq $s0, $zero, __L98
lw $s0, 8($sp)
lw $s1, 4($sp)
lw $s1, 0($s1)
lb $s1, 0($s1)
sb $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 8
lw $s1, 8($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 4($sp)
lw $s1, 4($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 0
lw $s1, 0($sp)
li $s2, 1
sub $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L97
__L98:
lw $s0, 0($sp)
seq $s0, $s0, $zero
beq $s0, $zero, __L109
addi $s0, $sp, 8
lw $s1, 8($sp)
li $s2, 1
sub $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
__L109:
lw $s0, 8($sp)
li $s1, 0
sll $s1, $s1, 24
sra $s1, $s1, 24
sb $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 0
lw $ra, 16($sp)
jr $ra
.globl order_of_operations
order_of_operations:
addi $sp, $sp, 0
lw $s0, 0($sp)
la $s1, PLUS
lw $s1, 0($s1)
seq $s0, $s0, $s1
sne $s0, $s0, $zero
bne $s0, $zero, __L111
lw $s1, 0($sp)
la $s2, MINUS
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L111:
beq $s0, $zero, __L112
li $s0, 4
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L113
__L112:
lw $s0, 0($sp)
la $s1, MULTIPLY
lw $s1, 0($s1)
seq $s0, $s0, $s1
sne $s0, $s0, $zero
bne $s0, $zero, __L115
lw $s1, 0($sp)
la $s2, DIVIDE
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L115:
beq $s0, $zero, __L116
li $s0, 5
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L117
__L116:
lw $s0, 0($sp)
la $s1, EQUALS
lw $s1, 0($s1)
seq $s0, $s0, $s1
sne $s0, $s0, $zero
bne $s0, $zero, __L120
lw $s1, 0($sp)
la $s2, GREATER_THAN
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L120:
sne $s0, $s0, $zero
bne $s0, $zero, __L121
lw $s1, 0($sp)
la $s2, LESS_THAN
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L121:
beq $s0, $zero, __L122
li $s0, 3
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L123
__L122:
lw $s0, 0($sp)
la $s1, AND
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L124
li $s0, 2
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L125
__L124:
lw $s0, 0($sp)
la $s1, OR
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L126
li $s0, 1
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
__L126:
__L125:
__L123:
__L117:
__L113:
li $s0, 0
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl create_token
create_token:
addi $sp, $sp, -4
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L128
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 3
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L128:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 12($sp)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 8($sp)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 4($sp)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
sw $s0, 16($sp)
addi $sp, $sp, 4
lw $ra, 16($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 16($sp)
jr $ra
.globl get_int
get_int:
addi $sp, $sp, -8
lw $s0, 8($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 45
seq $s0, $s0, $s1
beq $s0, $zero, __L129
addi $s0, $sp, 4
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 8($sp)
lw $s1, 8($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L130
__L129:
addi $s0, $sp, 4
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
__L130:
addi $s0, $sp, 0
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
__L131:
lw $s0, 8($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 48
slt $s0, $s0, $s1
seq $s0, $s0, $zero
beq $s0, $zero, __L134
lw $s1, 8($sp)
lw $s1, 0($s1)
lb $s1, 0($s1)
li $s2, 57
sgt $s1, $s1, $s2
seq $s1, $s1, $zero
sne $s1, $s1, $zero
move $s0, $s1
__L134:
beq $s0, $zero, __L132
addi $s0, $sp, 0
lw $s1, 0($sp)
li $s2, 10
mult $s1, $s2
mflo $s1
lw $s2, 8($sp)
lw $s2, 0($s2)
lb $s2, 0($s2)
add $s1, $s1, $s2
li $s2, 48
sub $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 8($sp)
lw $s1, 8($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L131
__L132:
lw $s0, 4($sp)
beq $s0, $zero, __L135
addi $s0, $sp, 0
lw $s1, 0($sp)
sub $s1, $zero, $s1
sw $s1, 0($s0)
move $s0, $s1
__L135:
lw $s0, 0($sp)
sw $s0, 12($sp)
addi $sp, $sp, 8
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 8
lw $ra, 8($sp)
jr $ra
.globl get_str
get_str:
addi $sp, $sp, -12
addi $s0, $sp, 8
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 4
lw $s1, 12($sp)
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
__L136:
lw $s0, 4($sp)
lb $s0, 0($s0)
beq $s0, $zero, __L139
lw $s1, 4($sp)
lb $s1, 0($s1)
li $s2, 34
sne $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L139:
beq $s0, $zero, __L137
addi $s0, $sp, 8
lw $s1, 8($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 4
lw $s1, 4($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L136
__L137:
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L141
sw $t0, 8($sp)
la $t0, CHAR_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $s0, 28($sp)
li $s1, 1
add $s0, $s0, $s1
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L141:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 4
lw $s1, 0($sp)
sw $s1, 0($s0)
move $s0, $s1
__L142:
lw $s0, 12($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
beq $s0, $zero, __L145
lw $s1, 12($sp)
lw $s1, 0($s1)
lb $s1, 0($s1)
li $s2, 34
sne $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L145:
beq $s0, $zero, __L143
lw $s0, 4($sp)
lw $s1, 12($sp)
lw $s1, 0($s1)
lb $s1, 0($s1)
sb $s1, 0($s0)
move $s0, $s1
lw $s0, 12($sp)
lw $s1, 12($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 4
lw $s1, 4($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L142
__L143:
lw $s0, 4($sp)
li $s1, 0
sll $s1, $s1, 24
sra $s1, $s1, 24
sb $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
sw $s0, 16($sp)
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
.globl get_var
get_var:
addi $sp, $sp, -8
addi $sp, $sp, -20
addi $s0, $sp, 24
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L147
sw $t0, 8($sp)
li $t0, 32
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L147:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -24
la $s0, get_word
sw $s0, 20($sp)
la $t0, __L149
sw $t0, 16($sp)
lw $t0, 28($sp)
sw $t0, 8($sp)
lw $t0, 32($sp)
sw $t0, 4($sp)
li $t0, 32
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L149:
addi $sp, $sp, 0
lw $t0, 12($sp)
lw $s0, 20($sp)
move $s0, $t0
addi $sp, $sp, 24
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L151
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L151:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 8($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 91
seq $s0, $s0, $s1
beq $s0, $zero, __L152
lw $s0, 8($sp)
lw $s1, 8($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, get_expression
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L154
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L154:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 8($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 93
seq $s0, $s0, $s1
beq $s0, $zero, __L155
lw $s0, 8($sp)
lw $s1, 8($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
__L155:
j __L156
__L152:
addi $s0, $sp, 0
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
__L156:
addi $sp, $sp, -24
la $s0, create_token
sw $s0, 20($sp)
la $t0, __L158
sw $t0, 16($sp)
la $t0, VAR_TOKEN
lw $t0, 0($t0)
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 4($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L158:
addi $sp, $sp, 0
lw $t0, 12($sp)
lw $s0, 20($sp)
move $s0, $t0
addi $sp, $sp, 24
sw $s0, 12($sp)
addi $sp, $sp, 8
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 8
lw $ra, 8($sp)
jr $ra
.globl get_function
get_function:
addi $sp, $sp, -52
lw $s0, 52($sp)
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 16
lw $s1, 56($sp)
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -24
la $s0, get_word
sw $s0, 20($sp)
la $t0, __L160
sw $t0, 16($sp)
addi $t0, $sp, 44
sw $t0, 8($sp)
addi $t0, $sp, 40
sw $t0, 4($sp)
li $t0, 32
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L160:
addi $sp, $sp, 0
lw $t0, 12($sp)
lw $s0, 20($sp)
move $s0, $t0
addi $sp, $sp, 24
addi $sp, $sp, -20
la $s0, strcmp
sw $s0, 16($sp)
la $t0, __L162
sw $t0, 12($sp)
addi $t0, $sp, 40
sw $t0, 4($sp)
la $t0, __str0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L162:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 20
beq $s0, $zero, __L163
lw $s0, 56($sp)
lw $s1, 16($sp)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L165
sw $t0, 8($sp)
lw $t0, 72($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L165:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 56($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 40
seq $s0, $s0, $s1
beq $s0, $zero, __L166
lw $s0, 56($sp)
lw $s1, 56($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L167
__L166:
li $s0, 0
sw $s0, 60($sp)
addi $sp, $sp, 52
lw $ra, 12($sp)
jr $ra
__L167:
addi $sp, $sp, -20
addi $s0, $sp, 32
la $s1, get_expression
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L169
sw $t0, 8($sp)
lw $t0, 76($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L169:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 56($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 44
seq $s0, $s0, $s1
beq $s0, $zero, __L171
lw $s1, 12($sp)
sne $s1, $s1, $zero
move $s0, $s1
__L171:
beq $s0, $zero, __L172
lw $s0, 56($sp)
lw $s1, 56($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L173
__L172:
lw $s0, 12($sp)
beq $s0, $zero, __L174
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L176
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L176:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L174:
lw $s0, 52($sp)
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
li $s0, 0
sw $s0, 60($sp)
addi $sp, $sp, 52
lw $ra, 12($sp)
jr $ra
__L173:
addi $sp, $sp, -20
addi $s0, $sp, 28
la $s1, get_expression
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L178
sw $t0, 8($sp)
lw $t0, 76($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L178:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 56($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 44
seq $s0, $s0, $s1
beq $s0, $zero, __L180
lw $s1, 8($sp)
sne $s1, $s1, $zero
move $s0, $s1
__L180:
beq $s0, $zero, __L181
lw $s0, 56($sp)
lw $s1, 56($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L182
__L181:
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L184
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L184:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 8($sp)
beq $s0, $zero, __L185
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L187
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L187:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L185:
lw $s0, 52($sp)
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
li $s0, 0
sw $s0, 60($sp)
addi $sp, $sp, 52
lw $ra, 12($sp)
jr $ra
__L182:
addi $sp, $sp, -20
addi $s0, $sp, 24
la $s1, get_expression
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L189
sw $t0, 8($sp)
lw $t0, 76($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L189:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 56($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 41
seq $s0, $s0, $s1
beq $s0, $zero, __L191
lw $s1, 4($sp)
sne $s1, $s1, $zero
move $s0, $s1
__L191:
beq $s0, $zero, __L192
lw $s0, 56($sp)
lw $s1, 56($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L193
__L192:
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L195
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L195:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L197
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L197:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 4($sp)
beq $s0, $zero, __L198
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L200
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L200:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L198:
lw $s0, 52($sp)
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
li $s0, 0
sw $s0, 60($sp)
addi $sp, $sp, 52
lw $ra, 12($sp)
jr $ra
__L193:
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L202
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 4
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L202:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, SUBSTRING
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 12($sp)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 8($sp)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 3
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 4($sp)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
sw $s0, 60($sp)
addi $sp, $sp, 52
lw $ra, 12($sp)
jr $ra
j __L203
__L163:
addi $sp, $sp, -20
la $s0, strcmp
sw $s0, 16($sp)
la $t0, __L205
sw $t0, 12($sp)
addi $t0, $sp, 40
sw $t0, 4($sp)
la $t0, __str1
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L205:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 20
beq $s0, $zero, __L206
lw $s0, 56($sp)
lw $s1, 16($sp)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L208
sw $t0, 8($sp)
lw $t0, 72($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L208:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 56($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 40
seq $s0, $s0, $s1
beq $s0, $zero, __L209
lw $s0, 56($sp)
lw $s1, 56($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L210
__L209:
li $s0, 0
sw $s0, 60($sp)
addi $sp, $sp, 52
lw $ra, 12($sp)
jr $ra
__L210:
addi $sp, $sp, -20
addi $s0, $sp, 32
la $s1, get_expression
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L212
sw $t0, 8($sp)
lw $t0, 76($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L212:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 56($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 41
seq $s0, $s0, $s1
beq $s0, $zero, __L214
lw $s1, 12($sp)
sne $s1, $s1, $zero
move $s0, $s1
__L214:
beq $s0, $zero, __L215
lw $s0, 56($sp)
lw $s1, 56($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L216
__L215:
lw $s0, 12($sp)
beq $s0, $zero, __L217
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L219
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L219:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L217:
lw $s0, 52($sp)
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
li $s0, 0
sw $s0, 60($sp)
addi $sp, $sp, 52
lw $ra, 12($sp)
jr $ra
__L216:
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L221
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 2
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L221:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, STRFUNC
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 12($sp)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
sw $s0, 60($sp)
addi $sp, $sp, 52
lw $ra, 12($sp)
jr $ra
j __L222
__L206:
li $s0, 0
sw $s0, 60($sp)
addi $sp, $sp, 52
lw $ra, 12($sp)
jr $ra
__L222:
__L203:
addi $sp, $sp, 52
lw $ra, 12($sp)
jr $ra
.globl get_value
get_value:
addi $sp, $sp, -12
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L224
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L224:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 12($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 45
seq $s0, $s0, $s1
sne $s0, $s0, $zero
bne $s0, $zero, __L227
lw $s1, 12($sp)
lw $s1, 0($s1)
lb $s1, 0($s1)
li $s2, 48
slt $s1, $s1, $s2
seq $s1, $s1, $zero
beq $s1, $zero, __L228
lw $s2, 12($sp)
lw $s2, 0($s2)
lb $s2, 0($s2)
li $s3, 57
sgt $s2, $s2, $s3
seq $s2, $s2, $zero
sne $s2, $s2, $zero
move $s1, $s2
__L228:
sne $s1, $s1, $zero
move $s0, $s1
__L227:
beq $s0, $zero, __L229
addi $sp, $sp, -32
la $s0, create_token
sw $s0, 28($sp)
la $t0, __L232
sw $t0, 24($sp)
la $t0, INT_TOKEN
lw $t0, 0($t0)
sw $t0, 16($sp)
la $t0, get_int
sw $t0, 12($sp)
la $t0, __L233
sw $t0, 8($sp)
lw $t0, 44($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L233:
addi $sp, $sp, 0
lw $t0, 4($sp)
sw $t0, 12($sp)
li $t0, 0
sw $t0, 8($sp)
lw $t0, 28($sp)
addi $sp, $sp, 8
jr $t0
__L232:
addi $sp, $sp, -8
lw $t0, 20($sp)
lw $s0, 28($sp)
move $s0, $t0
addi $sp, $sp, 32
sw $s0, 16($sp)
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
j __L234
__L229:
lw $s0, 12($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 40
seq $s0, $s0, $s1
beq $s0, $zero, __L235
lw $s0, 12($sp)
lw $s1, 12($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 24
la $s1, get_expression
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L237
sw $t0, 8($sp)
lw $t0, 32($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L237:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 12($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 41
seq $s0, $s0, $s1
beq $s0, $zero, __L238
lw $s0, 12($sp)
lw $s1, 12($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
__L238:
lw $s0, 4($sp)
sw $s0, 16($sp)
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
j __L239
__L235:
addi $sp, $sp, -16
la $s0, alpha
sw $s0, 12($sp)
la $t0, __L241
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 0($sp)
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 0($sp)
lb $t0, 0($t0)
sb $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L241:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
beq $s0, $zero, __L242
addi $sp, $sp, -24
addi $s0, $sp, 28
la $s1, get_function
sw $s1, 20($sp)
sw $s0, 16($sp)
la $t0, __L244
sw $t0, 12($sp)
lw $t0, 36($sp)
sw $t0, 4($sp)
addi $t0, $sp, 24
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L244:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
lw $s1, 20($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 24
lw $s0, 0($sp)
beq $s0, $zero, __L245
li $s0, 0
sw $s0, 16($sp)
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
__L245:
lw $s0, 4($sp)
seq $s0, $s0, $zero
beq $s0, $zero, __L246
addi $sp, $sp, -16
la $s0, get_var
sw $s0, 12($sp)
la $t0, __L248
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L248:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 16($sp)
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
__L246:
lw $s0, 4($sp)
sw $s0, 16($sp)
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
j __L249
__L242:
lw $s0, 12($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 34
seq $s0, $s0, $s1
beq $s0, $zero, __L250
lw $s0, 12($sp)
lw $s1, 12($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 28
la $s1, get_str
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L252
sw $t0, 8($sp)
lw $t0, 32($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L252:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 12($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 34
seq $s0, $s0, $s1
beq $s0, $zero, __L253
lw $s0, 12($sp)
lw $s1, 12($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
__L253:
addi $sp, $sp, -24
la $s0, create_token
sw $s0, 20($sp)
la $t0, __L255
sw $t0, 16($sp)
la $t0, STR_TOKEN
lw $t0, 0($t0)
sw $t0, 8($sp)
lw $t0, 32($sp)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L255:
addi $sp, $sp, 0
lw $t0, 12($sp)
lw $s0, 20($sp)
move $s0, $t0
addi $sp, $sp, 24
sw $s0, 16($sp)
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
__L250:
__L249:
__L239:
__L234:
li $s0, 0
sw $s0, 16($sp)
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
.globl get_operation
get_operation:
addi $sp, $sp, 0
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L257
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L257:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 0($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 43
seq $s0, $s0, $s1
beq $s0, $zero, __L258
lw $s0, 0($sp)
lw $s1, 0($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
la $s0, PLUS
lw $s0, 0($s0)
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L259
__L258:
lw $s0, 0($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 45
seq $s0, $s0, $s1
beq $s0, $zero, __L260
lw $s0, 0($sp)
lw $s1, 0($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
la $s0, MINUS
lw $s0, 0($s0)
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L261
__L260:
lw $s0, 0($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 42
seq $s0, $s0, $s1
beq $s0, $zero, __L262
lw $s0, 0($sp)
lw $s1, 0($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
la $s0, MULTIPLY
lw $s0, 0($s0)
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L263
__L262:
lw $s0, 0($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 47
seq $s0, $s0, $s1
beq $s0, $zero, __L264
lw $s0, 0($sp)
lw $s1, 0($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
la $s0, DIVIDE
lw $s0, 0($s0)
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L265
__L264:
lw $s0, 0($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 61
seq $s0, $s0, $s1
beq $s0, $zero, __L266
lw $s0, 0($sp)
lw $s1, 0($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
la $s0, EQUALS
lw $s0, 0($s0)
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L267
__L266:
lw $s0, 0($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 62
seq $s0, $s0, $s1
beq $s0, $zero, __L268
lw $s0, 0($sp)
lw $s1, 0($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
la $s0, GREATER_THAN
lw $s0, 0($s0)
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L269
__L268:
lw $s0, 0($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 60
seq $s0, $s0, $s1
beq $s0, $zero, __L270
lw $s0, 0($sp)
lw $s1, 0($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
la $s0, LESS_THAN
lw $s0, 0($s0)
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L271
__L270:
lw $s0, 0($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 33
seq $s0, $s0, $s1
beq $s0, $zero, __L273
lw $s1, 0($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
lb $s1, 0($s1)
li $s2, 61
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L273:
beq $s0, $zero, __L274
lw $s0, 0($sp)
lw $s1, 0($sp)
lw $s1, 0($s1)
li $s2, 2
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
la $s0, NOT_EQUALS
lw $s0, 0($s0)
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L275
__L274:
lw $s0, 0($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 38
seq $s0, $s0, $s1
beq $s0, $zero, __L276
lw $s0, 0($sp)
lw $s1, 0($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
la $s0, AND
lw $s0, 0($s0)
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L277
__L276:
lw $s0, 0($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 124
seq $s0, $s0, $s1
beq $s0, $zero, __L278
lw $s0, 0($sp)
lw $s1, 0($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
la $s0, OR
lw $s0, 0($s0)
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
__L278:
__L277:
__L275:
__L271:
__L269:
__L267:
__L265:
__L263:
__L261:
__L259:
li $s0, 0
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl get_expression_recursive
get_expression_recursive:
addi $sp, $sp, -16
__L279:
addi $sp, $sp, -20
addi $s0, $sp, 28
la $s1, get_operation
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L282
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L282:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
beq $s0, $zero, __L280
addi $sp, $sp, -20
addi $s0, $sp, 32
la $s1, get_value
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L284
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L284:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 12($sp)
seq $s0, $s0, $zero
beq $s0, $zero, __L285
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L287
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L287:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 24($sp)
addi $sp, $sp, 16
lw $ra, 12($sp)
jr $ra
__L285:
addi $s0, $sp, 0
lw $s1, 16($sp)
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 24
la $s1, get_operation
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L289
sw $t0, 8($sp)
addi $t0, $sp, 20
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L289:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -20
la $s0, order_of_operations
sw $s0, 16($sp)
la $t0, __L292
sw $t0, 12($sp)
lw $t0, 24($sp)
sw $t0, 4($sp)
lw $t0, 16($sp)
addi $sp, $sp, 4
jr $t0
__L292:
addi $sp, $sp, -4
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
la $s1, order_of_operations
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L293
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L293:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sgt $s0, $s0, $s1
addi $sp, $sp, 20
beq $s0, $zero, __L294
addi $sp, $sp, -24
addi $s0, $sp, 36
la $s1, get_expression_recursive
sw $s1, 20($sp)
sw $s0, 16($sp)
la $t0, __L296
sw $t0, 12($sp)
lw $t0, 36($sp)
sw $t0, 4($sp)
lw $t0, 40($sp)
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L296:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
lw $s1, 20($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 24
__L294:
lw $s0, 12($sp)
beq $s0, $zero, __L297
addi $sp, $sp, -28
addi $s0, $sp, 48
la $s1, create_token
sw $s1, 24($sp)
sw $s0, 20($sp)
la $t0, __L299
sw $t0, 16($sp)
lw $t0, 36($sp)
sw $t0, 8($sp)
lw $t0, 48($sp)
sw $t0, 4($sp)
lw $t0, 40($sp)
sw $t0, 0($sp)
lw $t0, 24($sp)
addi $sp, $sp, 0
jr $t0
__L299:
addi $sp, $sp, 0
lw $t0, 12($sp)
lw $s0, 20($sp)
lw $s1, 24($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 28
j __L300
__L297:
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L302
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L302:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 24($sp)
addi $sp, $sp, 16
lw $ra, 12($sp)
jr $ra
__L300:
j __L279
__L280:
lw $s0, 20($sp)
sw $s0, 24($sp)
addi $sp, $sp, 16
lw $ra, 12($sp)
jr $ra
addi $sp, $sp, 16
lw $ra, 12($sp)
jr $ra
.globl get_expression
get_expression:
addi $sp, $sp, -4
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, get_value
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L304
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L304:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 0($sp)
seq $s0, $s0, $zero
beq $s0, $zero, __L305
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L305:
addi $sp, $sp, -20
la $s0, get_expression_recursive
sw $s0, 16($sp)
la $t0, __L307
sw $t0, 12($sp)
lw $t0, 20($sp)
sw $t0, 4($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L307:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl free_expression
free_expression:
addi $sp, $sp, 0
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_TOKEN
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L308
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L310
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L310:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L311
__L308:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, STR_TOKEN
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L312
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L314
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L314:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L316
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L316:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L317
__L312:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, VAR_TOKEN
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L318
lw $s0, 0($sp)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
beq $s0, $zero, __L319
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L321
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L321:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L319:
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L323
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L323:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L325
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L325:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L326
__L318:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, PLUS
lw $s1, 0($s1)
seq $s0, $s0, $s1
sne $s0, $s0, $zero
bne $s0, $zero, __L336
lw $s1, 0($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, MINUS
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L336:
sne $s0, $s0, $zero
bne $s0, $zero, __L337
lw $s1, 0($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, MULTIPLY
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L337:
sne $s0, $s0, $zero
bne $s0, $zero, __L338
lw $s1, 0($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, DIVIDE
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L338:
sne $s0, $s0, $zero
bne $s0, $zero, __L339
lw $s1, 0($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, EQUALS
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L339:
sne $s0, $s0, $zero
bne $s0, $zero, __L340
lw $s1, 0($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, NOT_EQUALS
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L340:
sne $s0, $s0, $zero
bne $s0, $zero, __L341
lw $s1, 0($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, GREATER_THAN
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L341:
sne $s0, $s0, $zero
bne $s0, $zero, __L342
lw $s1, 0($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, LESS_THAN
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L342:
sne $s0, $s0, $zero
bne $s0, $zero, __L343
lw $s1, 0($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, AND
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L343:
sne $s0, $s0, $zero
bne $s0, $zero, __L344
lw $s1, 0($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, OR
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L344:
beq $s0, $zero, __L345
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L347
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L347:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L349
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L349:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L351
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L351:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L352
__L345:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, SUBSTRING
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L353
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L355
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L355:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L357
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L357:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L359
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 3
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L359:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L361
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L361:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L362
__L353:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, STRFUNC
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L363
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L365
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L365:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L367
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L367:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L363:
__L362:
__L352:
__L326:
__L317:
__L311:
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl list_expression
list_expression:
addi $sp, $sp, 0
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_TOKEN
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L368
addi $sp, $sp, -16
la $s0, printd
sw $s0, 12($sp)
la $t0, __L370
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L370:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L371
__L368:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, STR_TOKEN
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L372
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L374
sw $t0, 8($sp)
la $t0, __str2
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L374:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L376
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L376:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L378
sw $t0, 8($sp)
la $t0, __str3
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L378:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L379
__L372:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, VAR_TOKEN
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L380
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L382
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L382:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 0($sp)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
beq $s0, $zero, __L383
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L385
sw $t0, 8($sp)
la $t0, __str4
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L385:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L387
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L387:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L389
sw $t0, 8($sp)
la $t0, __str5
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L389:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L383:
j __L390
__L380:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, PLUS
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L391
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L393
sw $t0, 8($sp)
la $t0, __str6
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L393:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L395
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L395:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L397
sw $t0, 8($sp)
la $t0, __str7
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L397:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L399
sw $t0, 8($sp)
la $t0, __str8
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L399:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L401
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L401:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L403
sw $t0, 8($sp)
la $t0, __str9
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L403:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L404
__L391:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, MINUS
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L405
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L407
sw $t0, 8($sp)
la $t0, __str10
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L407:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L409
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L409:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L411
sw $t0, 8($sp)
la $t0, __str11
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L411:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L413
sw $t0, 8($sp)
la $t0, __str12
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L413:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L415
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L415:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L417
sw $t0, 8($sp)
la $t0, __str13
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L417:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L418
__L405:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, MULTIPLY
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L419
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L421
sw $t0, 8($sp)
la $t0, __str14
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L421:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L423
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L423:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L425
sw $t0, 8($sp)
la $t0, __str15
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L425:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L427
sw $t0, 8($sp)
la $t0, __str16
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L427:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L429
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L429:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L431
sw $t0, 8($sp)
la $t0, __str17
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L431:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L432
__L419:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, DIVIDE
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L433
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L435
sw $t0, 8($sp)
la $t0, __str18
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L435:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L437
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L437:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L439
sw $t0, 8($sp)
la $t0, __str19
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L439:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L441
sw $t0, 8($sp)
la $t0, __str20
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L441:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L443
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L443:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L445
sw $t0, 8($sp)
la $t0, __str21
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L445:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L446
__L433:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, EQUALS
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L447
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L449
sw $t0, 8($sp)
la $t0, __str22
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L449:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L451
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L451:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L453
sw $t0, 8($sp)
la $t0, __str23
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L453:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L455
sw $t0, 8($sp)
la $t0, __str24
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L455:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L457
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L457:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L459
sw $t0, 8($sp)
la $t0, __str25
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L459:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L460
__L447:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, NOT_EQUALS
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L461
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L463
sw $t0, 8($sp)
la $t0, __str26
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L463:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L465
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L465:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L467
sw $t0, 8($sp)
la $t0, __str27
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L467:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L469
sw $t0, 8($sp)
la $t0, __str28
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L469:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L471
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L471:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L473
sw $t0, 8($sp)
la $t0, __str29
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L473:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L474
__L461:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, GREATER_THAN
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L475
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L477
sw $t0, 8($sp)
la $t0, __str30
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L477:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L479
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L479:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L481
sw $t0, 8($sp)
la $t0, __str31
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L481:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L483
sw $t0, 8($sp)
la $t0, __str32
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L483:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L485
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L485:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L487
sw $t0, 8($sp)
la $t0, __str33
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L487:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L488
__L475:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, LESS_THAN
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L489
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L491
sw $t0, 8($sp)
la $t0, __str34
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L491:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L493
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L493:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L495
sw $t0, 8($sp)
la $t0, __str35
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L495:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L497
sw $t0, 8($sp)
la $t0, __str36
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L497:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L499
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L499:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L501
sw $t0, 8($sp)
la $t0, __str37
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L501:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L502
__L489:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, AND
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L503
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L505
sw $t0, 8($sp)
la $t0, __str38
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L505:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L507
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L507:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L509
sw $t0, 8($sp)
la $t0, __str39
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L509:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L511
sw $t0, 8($sp)
la $t0, __str40
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L511:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L513
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L513:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L515
sw $t0, 8($sp)
la $t0, __str41
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L515:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L516
__L503:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, OR
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L517
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L519
sw $t0, 8($sp)
la $t0, __str42
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L519:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L521
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L521:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L523
sw $t0, 8($sp)
la $t0, __str43
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L523:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L525
sw $t0, 8($sp)
la $t0, __str44
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L525:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L527
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L527:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L529
sw $t0, 8($sp)
la $t0, __str45
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L529:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L530
__L517:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, SUBSTRING
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L531
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L533
sw $t0, 8($sp)
la $t0, __str46
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L533:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L535
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L535:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L537
sw $t0, 8($sp)
la $t0, __str47
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L537:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L539
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L539:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L541
sw $t0, 8($sp)
la $t0, __str48
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L541:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L543
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 3
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L543:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L545
sw $t0, 8($sp)
la $t0, __str49
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L545:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L546
__L531:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, STRFUNC
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L547
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L549
sw $t0, 8($sp)
la $t0, __str50
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L549:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L551
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L551:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L553
sw $t0, 8($sp)
la $t0, __str51
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L553:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L547:
__L546:
__L530:
__L516:
__L502:
__L488:
__L474:
__L460:
__L446:
__L432:
__L418:
__L404:
__L390:
__L379:
__L371:
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl parse_print
parse_print:
addi $sp, $sp, -4
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L555
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 2
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L555:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, PRINT
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 20
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, get_expression
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L557
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L557:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L559
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L559:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 0($sp)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
seq $s0, $s0, $zero
beq $s0, $zero, __L560
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L562
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L562:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
j __L563
__L560:
lw $s0, 4($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
beq $s0, $zero, __L564
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L566
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L566:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L568
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L568:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L564:
__L563:
lw $s0, 0($sp)
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl list_print
list_print:
addi $sp, $sp, 0
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L570
sw $t0, 8($sp)
la $t0, __str52
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L570:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L572
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L572:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl parse_input
parse_input:
addi $sp, $sp, -4
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L574
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L574:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, alpha
sw $s0, 12($sp)
la $t0, __L576
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 0($sp)
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 0($sp)
lb $t0, 0($t0)
sb $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L576:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 16
beq $s0, $zero, __L577
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L577:
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L579
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 2
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L579:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, INPUT
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 20
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, get_var
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L581
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L581:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L583
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L583:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 4($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
beq $s0, $zero, __L584
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L586
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L586:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L588
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L588:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L584:
lw $s0, 0($sp)
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl list_input
list_input:
addi $sp, $sp, 0
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L590
sw $t0, 8($sp)
la $t0, __str53
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L590:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L592
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L592:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl parse_inputstr
parse_inputstr:
addi $sp, $sp, -4
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L594
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L594:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, alpha
sw $s0, 12($sp)
la $t0, __L596
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 0($sp)
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 0($sp)
lb $t0, 0($t0)
sb $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L596:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 16
beq $s0, $zero, __L597
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L597:
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L599
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 2
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L599:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, INPUTSTR
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 20
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, get_var
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L601
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L601:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L603
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L603:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 4($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
beq $s0, $zero, __L604
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L606
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L606:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L608
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L608:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L604:
lw $s0, 0($sp)
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl list_inputstr
list_inputstr:
addi $sp, $sp, 0
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L610
sw $t0, 8($sp)
la $t0, __str54
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L610:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L612
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L612:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl parse_let
parse_let:
addi $sp, $sp, -4
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L614
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L614:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, alpha
sw $s0, 12($sp)
la $t0, __L616
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 0($sp)
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 0($sp)
lb $t0, 0($t0)
sb $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L616:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 16
beq $s0, $zero, __L617
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L617:
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L619
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 3
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L619:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, LET
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 20
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, get_var
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L621
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L621:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L623
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L623:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 4($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 61
sne $s0, $s0, $s1
beq $s0, $zero, __L624
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L626
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L626:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L628
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L628:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L624:
lw $s0, 4($sp)
lw $s1, 4($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L630
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L630:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -20
addi $s0, $sp, 20
lw $s0, 0($s0)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, get_expression
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L632
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L632:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 4($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
sne $s0, $s0, $zero
bne $s0, $zero, __L634
lw $s1, 0($sp)
li $s2, 2
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
seq $s1, $s1, $zero
sne $s1, $s1, $zero
move $s0, $s1
__L634:
beq $s0, $zero, __L635
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L637
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L637:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 0($sp)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
beq $s0, $zero, __L638
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L640
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L640:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L638:
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L642
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L642:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L635:
lw $s0, 0($sp)
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl list_let
list_let:
addi $sp, $sp, 0
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L644
sw $t0, 8($sp)
la $t0, __str55
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L644:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L646
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L646:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L648
sw $t0, 8($sp)
la $t0, __str56
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L648:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L650
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L650:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl parse_dim
parse_dim:
addi $sp, $sp, -4
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L652
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L652:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, alpha
sw $s0, 12($sp)
la $t0, __L654
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 0($sp)
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 0($sp)
lb $t0, 0($t0)
sb $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L654:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 16
beq $s0, $zero, __L655
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L655:
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L657
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 3
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L657:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, DIM
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 20
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, get_var
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L659
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L659:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L661
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L661:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 4($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
li $s1, 44
sne $s0, $s0, $s1
beq $s0, $zero, __L662
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L664
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L664:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L666
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L666:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L662:
lw $s0, 4($sp)
lw $s1, 4($sp)
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L668
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L668:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -20
addi $s0, $sp, 20
lw $s0, 0($s0)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, get_expression
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L670
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L670:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L672
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L672:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 4($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
sne $s0, $s0, $zero
bne $s0, $zero, __L674
lw $s1, 0($sp)
li $s2, 2
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
seq $s1, $s1, $zero
sne $s1, $s1, $zero
move $s0, $s1
__L674:
beq $s0, $zero, __L675
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L677
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L677:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 0($sp)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
beq $s0, $zero, __L678
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L680
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L680:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L678:
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L682
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L682:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L675:
lw $s0, 0($sp)
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl list_dim
list_dim:
addi $sp, $sp, 0
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L684
sw $t0, 8($sp)
la $t0, __str57
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L684:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L686
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L686:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L688
sw $t0, 8($sp)
la $t0, __str58
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L688:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L690
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L690:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl parse_if
parse_if:
addi $sp, $sp, -4
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L692
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 2
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L692:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, IF
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 20
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, get_expression
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L694
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L694:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L696
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L696:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 0($sp)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
seq $s0, $s0, $zero
beq $s0, $zero, __L697
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L699
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L699:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
j __L700
__L697:
lw $s0, 4($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
beq $s0, $zero, __L701
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L703
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L703:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L705
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L705:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L701:
__L700:
lw $s0, 0($sp)
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl list_if
list_if:
addi $sp, $sp, 0
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L707
sw $t0, 8($sp)
la $t0, __str59
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L707:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L709
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L709:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl parse_goto
parse_goto:
addi $sp, $sp, -4
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L711
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 2
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L711:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, GOTO
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 20
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, get_expression
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L713
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L713:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L715
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L715:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 0($sp)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
seq $s0, $s0, $zero
beq $s0, $zero, __L716
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L718
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L718:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
j __L719
__L716:
lw $s0, 4($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
beq $s0, $zero, __L720
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L722
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L722:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L724
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L724:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L720:
__L719:
lw $s0, 0($sp)
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl list_goto
list_goto:
addi $sp, $sp, 0
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L726
sw $t0, 8($sp)
la $t0, __str60
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L726:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L728
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L728:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl parse_gosub
parse_gosub:
addi $sp, $sp, -4
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L730
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 2
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L730:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, GOSUB
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 20
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, get_expression
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L732
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L732:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L734
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L734:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 0($sp)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
seq $s0, $s0, $zero
beq $s0, $zero, __L735
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L737
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L737:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
j __L738
__L735:
lw $s0, 4($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
beq $s0, $zero, __L739
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L741
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L741:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L743
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L743:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L739:
__L738:
lw $s0, 0($sp)
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl list_gosub
list_gosub:
addi $sp, $sp, 0
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L745
sw $t0, 8($sp)
la $t0, __str61
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L745:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L747
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L747:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl parse_while
parse_while:
addi $sp, $sp, -4
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L749
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 2
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L749:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, WHILE
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 20
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, get_expression
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L751
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L751:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L753
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L753:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 0($sp)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
seq $s0, $s0, $zero
beq $s0, $zero, __L754
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L756
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L756:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
j __L757
__L754:
lw $s0, 4($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
beq $s0, $zero, __L758
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L760
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L760:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L762
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L762:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L758:
__L757:
lw $s0, 0($sp)
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl list_while
list_while:
addi $sp, $sp, 0
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L764
sw $t0, 8($sp)
la $t0, __str62
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L764:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_expression
sw $s0, 12($sp)
la $t0, __L766
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L766:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl parse_run
parse_run:
addi $sp, $sp, -4
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L768
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L768:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 4($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
beq $s0, $zero, __L769
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L769:
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L771
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L771:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, RUN
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl list_run
list_run:
addi $sp, $sp, 0
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L773
sw $t0, 8($sp)
la $t0, __str63
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L773:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl parse_end
parse_end:
addi $sp, $sp, -36
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L775
sw $t0, 8($sp)
lw $t0, 52($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L775:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 36($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
seq $s0, $s0, $zero
beq $s0, $zero, __L776
addi $sp, $sp, -20
addi $s0, $sp, 52
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L778
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 2
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L778:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 32
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, END
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 32
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 32($sp)
sw $s0, 40($sp)
addi $sp, $sp, 36
lw $ra, 8($sp)
jr $ra
__L776:
addi $sp, $sp, -24
la $s0, get_word
sw $s0, 20($sp)
la $t0, __L780
sw $t0, 16($sp)
addi $t0, $sp, 24
sw $t0, 8($sp)
lw $t0, 60($sp)
sw $t0, 4($sp)
li $t0, 32
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L780:
addi $sp, $sp, 0
lw $t0, 12($sp)
lw $s0, 20($sp)
move $s0, $t0
addi $sp, $sp, 24
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L782
sw $t0, 8($sp)
lw $t0, 52($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L782:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 36($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
beq $s0, $zero, __L783
li $s0, 0
sw $s0, 40($sp)
addi $sp, $sp, 36
lw $ra, 8($sp)
jr $ra
__L783:
addi $sp, $sp, -20
addi $s0, $sp, 52
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L785
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 2
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L785:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 32
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, END
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
la $s0, strcmp
sw $s0, 16($sp)
la $t0, __L787
sw $t0, 12($sp)
addi $t0, $sp, 20
sw $t0, 4($sp)
la $t0, __str64
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L787:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 20
beq $s0, $zero, __L788
addi $s0, $sp, 32
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, IF
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
j __L789
__L788:
addi $sp, $sp, -20
la $s0, strcmp
sw $s0, 16($sp)
la $t0, __L791
sw $t0, 12($sp)
addi $t0, $sp, 20
sw $t0, 4($sp)
la $t0, __str65
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L791:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 20
beq $s0, $zero, __L792
addi $s0, $sp, 32
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, WHILE
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
j __L793
__L792:
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L795
sw $t0, 8($sp)
lw $t0, 48($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L795:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 40($sp)
addi $sp, $sp, 36
lw $ra, 8($sp)
jr $ra
__L793:
__L789:
lw $s0, 32($sp)
sw $s0, 40($sp)
addi $sp, $sp, 36
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 36
lw $ra, 8($sp)
jr $ra
.globl list_end
list_end:
addi $sp, $sp, 0
lw $s0, 0($sp)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, IF
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L796
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L798
sw $t0, 8($sp)
la $t0, __str66
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L798:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L799
__L796:
lw $s0, 0($sp)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, WHILE
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L800
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L802
sw $t0, 8($sp)
la $t0, __str67
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L802:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L803
__L800:
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L805
sw $t0, 8($sp)
la $t0, __str68
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L805:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L803:
__L799:
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl parse_return
parse_return:
addi $sp, $sp, -4
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L807
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L807:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 4($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
seq $s0, $s0, $zero
beq $s0, $zero, __L808
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L810
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L810:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, RETURN
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L808:
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl list_return
list_return:
addi $sp, $sp, 0
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L812
sw $t0, 8($sp)
la $t0, __str69
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L812:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl parse_list
parse_list:
addi $sp, $sp, -4
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L814
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L814:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 4($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
seq $s0, $s0, $zero
beq $s0, $zero, __L815
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L817
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L817:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, LIST
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L815:
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl list_list
list_list:
addi $sp, $sp, 0
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L819
sw $t0, 8($sp)
la $t0, __str70
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L819:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl get_statement
get_statement:
addi $sp, $sp, -32
addi $sp, $sp, -24
la $s0, get_word
sw $s0, 20($sp)
la $t0, __L821
sw $t0, 16($sp)
addi $t0, $sp, 24
sw $t0, 8($sp)
lw $t0, 56($sp)
sw $t0, 4($sp)
li $t0, 32
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L821:
addi $sp, $sp, 0
lw $t0, 12($sp)
lw $s0, 20($sp)
move $s0, $t0
addi $sp, $sp, 24
addi $sp, $sp, -20
la $s0, strcmp
sw $s0, 16($sp)
la $t0, __L823
sw $t0, 12($sp)
addi $t0, $sp, 20
sw $t0, 4($sp)
la $t0, __str71
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L823:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 20
beq $s0, $zero, __L824
addi $sp, $sp, -16
la $s0, parse_print
sw $s0, 12($sp)
la $t0, __L826
sw $t0, 8($sp)
lw $t0, 48($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L826:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 36($sp)
addi $sp, $sp, 32
lw $ra, 8($sp)
jr $ra
j __L827
__L824:
addi $sp, $sp, -20
la $s0, strcmp
sw $s0, 16($sp)
la $t0, __L829
sw $t0, 12($sp)
addi $t0, $sp, 20
sw $t0, 4($sp)
la $t0, __str72
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L829:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 20
beq $s0, $zero, __L830
addi $sp, $sp, -16
la $s0, parse_input
sw $s0, 12($sp)
la $t0, __L832
sw $t0, 8($sp)
lw $t0, 48($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L832:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 36($sp)
addi $sp, $sp, 32
lw $ra, 8($sp)
jr $ra
j __L833
__L830:
addi $sp, $sp, -20
la $s0, strcmp
sw $s0, 16($sp)
la $t0, __L835
sw $t0, 12($sp)
addi $t0, $sp, 20
sw $t0, 4($sp)
la $t0, __str73
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L835:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 20
beq $s0, $zero, __L836
addi $sp, $sp, -16
la $s0, parse_inputstr
sw $s0, 12($sp)
la $t0, __L838
sw $t0, 8($sp)
lw $t0, 48($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L838:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 36($sp)
addi $sp, $sp, 32
lw $ra, 8($sp)
jr $ra
j __L839
__L836:
addi $sp, $sp, -20
la $s0, strcmp
sw $s0, 16($sp)
la $t0, __L841
sw $t0, 12($sp)
addi $t0, $sp, 20
sw $t0, 4($sp)
la $t0, __str74
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L841:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 20
beq $s0, $zero, __L842
addi $sp, $sp, -16
la $s0, parse_run
sw $s0, 12($sp)
la $t0, __L844
sw $t0, 8($sp)
lw $t0, 48($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L844:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 36($sp)
addi $sp, $sp, 32
lw $ra, 8($sp)
jr $ra
j __L845
__L842:
addi $sp, $sp, -20
la $s0, strcmp
sw $s0, 16($sp)
la $t0, __L847
sw $t0, 12($sp)
addi $t0, $sp, 20
sw $t0, 4($sp)
la $t0, __str75
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L847:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 20
beq $s0, $zero, __L848
addi $sp, $sp, -16
la $s0, parse_end
sw $s0, 12($sp)
la $t0, __L850
sw $t0, 8($sp)
lw $t0, 48($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L850:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 36($sp)
addi $sp, $sp, 32
lw $ra, 8($sp)
jr $ra
j __L851
__L848:
addi $sp, $sp, -20
la $s0, strcmp
sw $s0, 16($sp)
la $t0, __L853
sw $t0, 12($sp)
addi $t0, $sp, 20
sw $t0, 4($sp)
la $t0, __str76
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L853:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 20
beq $s0, $zero, __L854
addi $sp, $sp, -16
la $s0, parse_if
sw $s0, 12($sp)
la $t0, __L856
sw $t0, 8($sp)
lw $t0, 48($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L856:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 36($sp)
addi $sp, $sp, 32
lw $ra, 8($sp)
jr $ra
j __L857
__L854:
addi $sp, $sp, -20
la $s0, strcmp
sw $s0, 16($sp)
la $t0, __L859
sw $t0, 12($sp)
addi $t0, $sp, 20
sw $t0, 4($sp)
la $t0, __str77
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L859:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 20
beq $s0, $zero, __L860
addi $sp, $sp, -16
la $s0, parse_while
sw $s0, 12($sp)
la $t0, __L862
sw $t0, 8($sp)
lw $t0, 48($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L862:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 36($sp)
addi $sp, $sp, 32
lw $ra, 8($sp)
jr $ra
j __L863
__L860:
addi $sp, $sp, -20
la $s0, strcmp
sw $s0, 16($sp)
la $t0, __L865
sw $t0, 12($sp)
addi $t0, $sp, 20
sw $t0, 4($sp)
la $t0, __str78
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L865:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 20
beq $s0, $zero, __L866
addi $sp, $sp, -16
la $s0, parse_let
sw $s0, 12($sp)
la $t0, __L868
sw $t0, 8($sp)
lw $t0, 48($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L868:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 36($sp)
addi $sp, $sp, 32
lw $ra, 8($sp)
jr $ra
j __L869
__L866:
addi $sp, $sp, -20
la $s0, strcmp
sw $s0, 16($sp)
la $t0, __L871
sw $t0, 12($sp)
addi $t0, $sp, 20
sw $t0, 4($sp)
la $t0, __str79
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L871:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 20
beq $s0, $zero, __L872
addi $sp, $sp, -16
la $s0, parse_dim
sw $s0, 12($sp)
la $t0, __L874
sw $t0, 8($sp)
lw $t0, 48($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L874:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 36($sp)
addi $sp, $sp, 32
lw $ra, 8($sp)
jr $ra
j __L875
__L872:
addi $sp, $sp, -20
la $s0, strcmp
sw $s0, 16($sp)
la $t0, __L877
sw $t0, 12($sp)
addi $t0, $sp, 20
sw $t0, 4($sp)
la $t0, __str80
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L877:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 20
beq $s0, $zero, __L878
addi $sp, $sp, -16
la $s0, parse_goto
sw $s0, 12($sp)
la $t0, __L880
sw $t0, 8($sp)
lw $t0, 48($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L880:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 36($sp)
addi $sp, $sp, 32
lw $ra, 8($sp)
jr $ra
j __L881
__L878:
addi $sp, $sp, -20
la $s0, strcmp
sw $s0, 16($sp)
la $t0, __L883
sw $t0, 12($sp)
addi $t0, $sp, 20
sw $t0, 4($sp)
la $t0, __str81
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L883:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 20
beq $s0, $zero, __L884
addi $sp, $sp, -16
la $s0, parse_gosub
sw $s0, 12($sp)
la $t0, __L886
sw $t0, 8($sp)
lw $t0, 48($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L886:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 36($sp)
addi $sp, $sp, 32
lw $ra, 8($sp)
jr $ra
j __L887
__L884:
addi $sp, $sp, -20
la $s0, strcmp
sw $s0, 16($sp)
la $t0, __L889
sw $t0, 12($sp)
addi $t0, $sp, 20
sw $t0, 4($sp)
la $t0, __str82
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L889:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 20
beq $s0, $zero, __L890
addi $sp, $sp, -16
la $s0, parse_return
sw $s0, 12($sp)
la $t0, __L892
sw $t0, 8($sp)
lw $t0, 48($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L892:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 36($sp)
addi $sp, $sp, 32
lw $ra, 8($sp)
jr $ra
j __L893
__L890:
addi $sp, $sp, -20
la $s0, strcmp
sw $s0, 16($sp)
la $t0, __L895
sw $t0, 12($sp)
addi $t0, $sp, 20
sw $t0, 4($sp)
la $t0, __str83
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L895:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 20
beq $s0, $zero, __L896
addi $sp, $sp, -16
la $s0, parse_list
sw $s0, 12($sp)
la $t0, __L898
sw $t0, 8($sp)
lw $t0, 48($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L898:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 36($sp)
addi $sp, $sp, 32
lw $ra, 8($sp)
jr $ra
j __L899
__L896:
li $s0, 0
sw $s0, 36($sp)
addi $sp, $sp, 32
lw $ra, 8($sp)
jr $ra
__L899:
__L893:
__L887:
__L881:
__L875:
__L869:
__L863:
__L857:
__L851:
__L845:
__L839:
__L833:
__L827:
addi $sp, $sp, 32
lw $ra, 8($sp)
jr $ra
.globl free_statement
free_statement:
addi $sp, $sp, 0
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, PRINT
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L900
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L902
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L902:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L904
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L904:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L905
__L900:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INPUT
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L906
lw $s0, 0($sp)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
li $s1, 2
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
beq $s0, $zero, __L907
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L909
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L909:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L907:
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L911
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L911:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L913
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L913:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L915
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L915:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L916
__L906:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, RUN
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L917
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L919
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L919:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L920
__L917:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, END
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L921
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L923
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L923:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L924
__L921:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, IF
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L925
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L927
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L927:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L929
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L929:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L930
__L925:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, WHILE
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L931
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L933
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L933:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L935
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L935:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L936
__L931:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, LET
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L937
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L939
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L939:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L941
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L941:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L943
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L943:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L944
__L937:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, DIM
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L945
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L947
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L947:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L949
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L949:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L951
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L951:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L952
__L945:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, GOTO
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L953
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L955
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L955:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L957
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L957:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L958
__L953:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, GOSUB
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L959
addi $sp, $sp, -16
la $s0, free_expression
sw $s0, 12($sp)
la $t0, __L961
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L961:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L963
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L963:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L964
__L959:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, LIST
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L965
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L967
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L967:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L965:
__L964:
__L958:
__L952:
__L944:
__L936:
__L930:
__L924:
__L920:
__L916:
__L905:
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.data
__str84:
.asciiz "\n"
__str85:
.asciiz " "
__str86:
.asciiz "\n"
__str87:
.asciiz "SYNTAX ERROR"
__str88:
.asciiz "\n>: "
__str89:
.asciiz "SYNTAX ERROR"
__str90:
.asciiz "RUNTIME ERROR"
.text
.data
.align 2
variables:
.space 4
.text
.data
.align 2
statement_list:
.space 4
.text
.data
.align 2
ERR_VAL:
.space 4
.text
.data
.align 2
INT_VAL:
.space 4
.text
.data
.align 2
STR_VAL:
.space 4
.text
.data
.align 2
do_end:
.space 4
.text
.data
.align 2
do_if:
.space 4
.text
.data
.align 2
do_while:
.space 4
.text
.data
.align 2
do_skip_if:
.space 4
.text
.data
.align 2
do_skip_while:
.space 4
.text
.data
.align 2
do_gosub:
.space 4
.text
.data
.align 2
do_goto:
.space 4
.text
.data
.align 2
do_return:
.space 4
.text
.data
.align 2
goto_label:
.space 4
.text
.data
.align 2
gosubs:
.space 128
.text
.data
.align 2
current_gosub:
.space 4
.text
.globl create_value
create_value:
addi $sp, $sp, -4
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L969
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 2
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L969:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 8($sp)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 4($sp)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
sw $s0, 12($sp)
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
.globl create_statement_entry
create_statement_entry:
addi $sp, $sp, -4
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L971
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
li $s0, 2
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L971:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 8($sp)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 0
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 4($sp)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
sw $s0, 12($sp)
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
.globl free_statement_entry
free_statement_entry:
addi $sp, $sp, 0
addi $sp, $sp, -16
la $s0, free_statement
sw $s0, 12($sp)
la $t0, __L973
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 0
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L973:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L975
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L975:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl free_value
free_value:
addi $sp, $sp, 0
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, STR_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L976
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L978
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L978:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L976:
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L980
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L980:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl strlen
strlen:
addi $sp, $sp, -4
addi $s0, $sp, 0
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
__L981:
lw $s0, 4($sp)
lb $s0, 0($s0)
beq $s0, $zero, __L982
addi $s0, $sp, 0
lw $s1, 0($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 4
lw $s1, 4($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L981
__L982:
lw $s0, 0($sp)
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl strcpy
strcpy:
addi $sp, $sp, 0
__L983:
lw $s0, 0($sp)
lb $s0, 0($s0)
beq $s0, $zero, __L984
lw $s0, 4($sp)
lw $s1, 0($sp)
lb $s1, 0($s1)
sb $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 4
lw $s1, 4($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 0
lw $s1, 0($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L983
__L984:
lw $s0, 4($sp)
li $s1, 0
sll $s1, $s1, 24
sra $s1, $s1, 24
sb $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 0
lw $ra, 12($sp)
jr $ra
.globl strncpy
strncpy:
addi $sp, $sp, 0
__L985:
lw $s0, 0($sp)
beq $s0, $zero, __L988
lw $s1, 4($sp)
lb $s1, 0($s1)
sne $s1, $s1, $zero
move $s0, $s1
__L988:
beq $s0, $zero, __L986
lw $s0, 8($sp)
lw $s1, 4($sp)
lb $s1, 0($s1)
sb $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 8
lw $s1, 8($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 4
lw $s1, 4($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 0
lw $s1, 0($sp)
li $s2, 1
sub $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L985
__L986:
lw $s0, 8($sp)
li $s1, 0
sll $s1, $s1, 24
sra $s1, $s1, 24
sb $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 0
lw $ra, 16($sp)
jr $ra
.globl duplicate_str
duplicate_str:
addi $sp, $sp, -12
addi $sp, $sp, -20
addi $s0, $sp, 28
la $s1, strlen
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L990
sw $t0, 8($sp)
lw $t0, 32($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L990:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L992
sw $t0, 8($sp)
la $t0, CHAR_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $s0, 28($sp)
li $s1, 1
add $s0, $s0, $s1
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L992:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 4
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
__L993:
lw $s0, 4($sp)
lw $s1, 8($sp)
slt $s0, $s0, $s1
beq $s0, $zero, __L994
j __L995
__L996:
addi $s0, $sp, 4
lw $s1, 4($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L993
__L995:
addi $s0, $sp, 0
lw $s0, 0($s0)
lw $s1, 4($sp)
add $s0, $s0, $s1
lw $s1, 12($sp)
lw $s2, 4($sp)
add $s1, $s1, $s2
lb $s1, 0($s1)
sb $s1, 0($s0)
move $s0, $s1
j __L996
__L994:
addi $s0, $sp, 0
lw $s0, 0($s0)
lw $s1, 8($sp)
add $s0, $s0, $s1
li $s1, 0
sll $s1, $s1, 24
sra $s1, $s1, 24
sb $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
sw $s0, 16($sp)
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
.globl concat
concat:
addi $sp, $sp, -16
addi $sp, $sp, -20
addi $s0, $sp, 28
la $s1, strlen
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L998
sw $t0, 8($sp)
lw $t0, 40($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L998:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -20
addi $s0, $sp, 24
la $s1, strlen
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1000
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1000:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1002
sw $t0, 8($sp)
la $t0, CHAR_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $s0, 28($sp)
lw $s1, 24($sp)
add $s0, $s0, $s1
li $s1, 1
add $s0, $s0, $s1
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1002:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 12
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
__L1003:
lw $s0, 12($sp)
lw $s1, 8($sp)
slt $s0, $s0, $s1
beq $s0, $zero, __L1004
j __L1005
__L1006:
addi $s0, $sp, 12
lw $s1, 12($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L1003
__L1005:
addi $s0, $sp, 0
lw $s0, 0($s0)
lw $s1, 12($sp)
add $s0, $s0, $s1
lw $s1, 20($sp)
lw $s2, 12($sp)
add $s1, $s1, $s2
lb $s1, 0($s1)
sb $s1, 0($s0)
move $s0, $s1
j __L1006
__L1004:
addi $s0, $sp, 12
lw $s1, 8($sp)
sw $s1, 0($s0)
move $s0, $s1
__L1007:
lw $s0, 12($sp)
lw $s1, 8($sp)
lw $s2, 4($sp)
add $s1, $s1, $s2
slt $s0, $s0, $s1
beq $s0, $zero, __L1008
j __L1009
__L1010:
addi $s0, $sp, 12
lw $s1, 12($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L1007
__L1009:
addi $s0, $sp, 0
lw $s0, 0($s0)
lw $s1, 12($sp)
add $s0, $s0, $s1
lw $s1, 16($sp)
lw $s2, 12($sp)
lw $s3, 8($sp)
sub $s2, $s2, $s3
add $s1, $s1, $s2
lb $s1, 0($s1)
sb $s1, 0($s0)
move $s0, $s1
j __L1010
__L1008:
addi $s0, $sp, 0
lw $s0, 0($s0)
lw $s1, 12($sp)
add $s0, $s0, $s1
li $s1, 0
sll $s1, $s1, 24
sra $s1, $s1, 24
sb $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
sw $s0, 24($sp)
addi $sp, $sp, 16
lw $ra, 12($sp)
jr $ra
addi $sp, $sp, 16
lw $ra, 12($sp)
jr $ra
.globl add_values
add_values:
addi $sp, $sp, -4
lw $s0, 8($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1012
lw $s1, 4($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, INT_VAL
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1012:
beq $s0, $zero, __L1013
addi $s0, $sp, 8
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 8($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
lw $s2, 4($sp)
li $s3, 1
sll $s3, $s3, 2
add $s2, $s2, $s3
lw $s2, 0($s2)
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1015
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1015:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 8($sp)
sw $s0, 12($sp)
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
j __L1016
__L1013:
lw $s0, 8($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, STR_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1018
lw $s1, 4($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, STR_VAL
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1018:
beq $s0, $zero, __L1019
addi $sp, $sp, -24
addi $s0, $sp, 24
la $s1, concat
sw $s1, 20($sp)
sw $s0, 16($sp)
la $t0, __L1021
sw $t0, 12($sp)
lw $t0, 32($sp)
sw $t0, 4($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 4($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L1021:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
lw $s1, 20($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 24
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L1023
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1023:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L1025
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1025:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $s0, $sp, 8
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 0($sp)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 8($sp)
sw $s0, 12($sp)
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
j __L1026
__L1019:
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1028
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1028:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1030
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1030:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -24
addi $s0, $sp, 32
la $s1, create_value
sw $s1, 20($sp)
sw $s0, 16($sp)
la $t0, __L1032
sw $t0, 12($sp)
la $t0, ERR_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L1032:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
lw $s1, 20($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 24
lw $s0, 8($sp)
sw $s0, 12($sp)
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
__L1026:
__L1016:
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
.globl subtract_values
subtract_values:
addi $sp, $sp, -4
lw $s0, 8($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1034
lw $s1, 4($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, INT_VAL
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1034:
beq $s0, $zero, __L1035
addi $s0, $sp, 8
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 8($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
lw $s2, 4($sp)
li $s3, 1
sll $s3, $s3, 2
add $s2, $s2, $s3
lw $s2, 0($s2)
sub $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1037
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1037:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 8($sp)
sw $s0, 12($sp)
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
j __L1038
__L1035:
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1040
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1040:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1042
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1042:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -24
addi $s0, $sp, 32
la $s1, create_value
sw $s1, 20($sp)
sw $s0, 16($sp)
la $t0, __L1044
sw $t0, 12($sp)
la $t0, ERR_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L1044:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
lw $s1, 20($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 24
lw $s0, 8($sp)
sw $s0, 12($sp)
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
__L1038:
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
.globl multiply_values
multiply_values:
addi $sp, $sp, -4
lw $s0, 8($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1046
lw $s1, 4($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, INT_VAL
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1046:
beq $s0, $zero, __L1047
addi $s0, $sp, 8
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 8($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
lw $s2, 4($sp)
li $s3, 1
sll $s3, $s3, 2
add $s2, $s2, $s3
lw $s2, 0($s2)
mult $s1, $s2
mflo $s1
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1049
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1049:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 8($sp)
sw $s0, 12($sp)
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
j __L1050
__L1047:
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1052
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1052:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1054
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1054:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -24
addi $s0, $sp, 32
la $s1, create_value
sw $s1, 20($sp)
sw $s0, 16($sp)
la $t0, __L1056
sw $t0, 12($sp)
la $t0, ERR_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L1056:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
lw $s1, 20($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 24
lw $s0, 8($sp)
sw $s0, 12($sp)
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
__L1050:
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
.globl divide_values
divide_values:
addi $sp, $sp, -4
lw $s0, 8($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1058
lw $s1, 4($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, INT_VAL
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1058:
beq $s0, $zero, __L1059
addi $s0, $sp, 8
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 8($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
lw $s2, 4($sp)
li $s3, 1
sll $s3, $s3, 2
add $s2, $s2, $s3
lw $s2, 0($s2)
div $s1, $s2
mflo $s1
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1061
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1061:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 8($sp)
sw $s0, 12($sp)
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
j __L1062
__L1059:
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1064
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1064:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1066
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1066:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -24
addi $s0, $sp, 32
la $s1, create_value
sw $s1, 20($sp)
sw $s0, 16($sp)
la $t0, __L1068
sw $t0, 12($sp)
la $t0, ERR_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L1068:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
lw $s1, 20($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 24
lw $s0, 8($sp)
sw $s0, 12($sp)
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
__L1062:
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
.globl equals_values
equals_values:
addi $sp, $sp, -4
lw $s0, 8($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1070
lw $s1, 4($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, INT_VAL
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1070:
beq $s0, $zero, __L1071
addi $s0, $sp, 0
lw $s1, 8($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
lw $s2, 4($sp)
li $s3, 1
sll $s3, $s3, 2
add $s2, $s2, $s3
lw $s2, 0($s2)
seq $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 8
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 0($sp)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1073
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1073:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 8($sp)
sw $s0, 12($sp)
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
j __L1074
__L1071:
lw $s0, 8($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, STR_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1076
lw $s1, 4($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, STR_VAL
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1076:
beq $s0, $zero, __L1077
addi $sp, $sp, -24
addi $s0, $sp, 24
la $s1, strcmp
sw $s1, 20($sp)
sw $s0, 16($sp)
la $t0, __L1079
sw $t0, 12($sp)
lw $t0, 32($sp)
sw $t0, 4($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 4($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L1079:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
lw $s1, 20($sp)
move $s1, $t0
seq $s1, $s1, $zero
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 24
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L1081
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1081:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $s0, $sp, 8
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, INT_VAL
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 8
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 0($sp)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1083
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1083:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 8($sp)
sw $s0, 12($sp)
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
j __L1084
__L1077:
lw $s0, 8($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, ERR_VAL
lw $s1, 0($s1)
sne $s0, $s0, $s1
beq $s0, $zero, __L1086
lw $s1, 4($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, ERR_VAL
lw $s2, 0($s2)
sne $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1086:
beq $s0, $zero, __L1087
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1089
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1089:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1091
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1091:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -20
la $s0, create_value
sw $s0, 16($sp)
la $t0, __L1093
sw $t0, 12($sp)
la $t0, INT_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1093:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
sw $s0, 12($sp)
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
j __L1094
__L1087:
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1096
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1096:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1098
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1098:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -20
la $s0, create_value
sw $s0, 16($sp)
la $t0, __L1100
sw $t0, 12($sp)
la $t0, ERR_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1100:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
sw $s0, 12($sp)
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
__L1094:
__L1084:
__L1074:
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
.globl not_equals_values
not_equals_values:
addi $sp, $sp, -4
lw $s0, 8($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1102
lw $s1, 4($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, INT_VAL
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1102:
beq $s0, $zero, __L1103
addi $s0, $sp, 0
lw $s1, 8($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
lw $s2, 4($sp)
li $s3, 1
sll $s3, $s3, 2
add $s2, $s2, $s3
lw $s2, 0($s2)
sne $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 8
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 0($sp)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1105
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1105:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 8($sp)
sw $s0, 12($sp)
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
j __L1106
__L1103:
lw $s0, 8($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, STR_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1108
lw $s1, 4($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, STR_VAL
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1108:
beq $s0, $zero, __L1109
addi $sp, $sp, -24
addi $s0, $sp, 24
la $s1, strcmp
sw $s1, 20($sp)
sw $s0, 16($sp)
la $t0, __L1111
sw $t0, 12($sp)
lw $t0, 32($sp)
sw $t0, 4($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 4($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L1111:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
lw $s1, 20($sp)
move $s1, $t0
seq $s1, $s1, $zero
seq $s1, $s1, $zero
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 24
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L1113
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1113:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $s0, $sp, 8
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, INT_VAL
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 8
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 0($sp)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1115
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1115:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 8($sp)
sw $s0, 12($sp)
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
j __L1116
__L1109:
lw $s0, 8($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, ERR_VAL
lw $s1, 0($s1)
sne $s0, $s0, $s1
beq $s0, $zero, __L1118
lw $s1, 4($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, ERR_VAL
lw $s2, 0($s2)
sne $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1118:
beq $s0, $zero, __L1119
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1121
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1121:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1123
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1123:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -20
la $s0, create_value
sw $s0, 16($sp)
la $t0, __L1125
sw $t0, 12($sp)
la $t0, INT_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 1
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1125:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
sw $s0, 12($sp)
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
j __L1126
__L1119:
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1128
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1128:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1130
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1130:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -20
la $s0, create_value
sw $s0, 16($sp)
la $t0, __L1132
sw $t0, 12($sp)
la $t0, ERR_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1132:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
sw $s0, 12($sp)
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
__L1126:
__L1116:
__L1106:
addi $sp, $sp, 4
lw $ra, 12($sp)
jr $ra
.globl greater_than_values
greater_than_values:
addi $sp, $sp, 0
lw $s0, 4($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1134
lw $s1, 0($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, INT_VAL
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1134:
beq $s0, $zero, __L1135
addi $s0, $sp, 4
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 4($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
lw $s2, 0($sp)
li $s3, 1
sll $s3, $s3, 2
add $s2, $s2, $s3
lw $s2, 0($s2)
sgt $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1137
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1137:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 4($sp)
sw $s0, 8($sp)
addi $sp, $sp, 0
lw $ra, 12($sp)
jr $ra
j __L1138
__L1135:
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1140
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1140:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1142
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1142:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -20
la $s0, create_value
sw $s0, 16($sp)
la $t0, __L1144
sw $t0, 12($sp)
la $t0, ERR_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1144:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
sw $s0, 8($sp)
addi $sp, $sp, 0
lw $ra, 12($sp)
jr $ra
__L1138:
addi $sp, $sp, 0
lw $ra, 12($sp)
jr $ra
.globl less_than_values
less_than_values:
addi $sp, $sp, 0
lw $s0, 4($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1146
lw $s1, 0($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, INT_VAL
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1146:
beq $s0, $zero, __L1147
addi $s0, $sp, 4
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 4($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
lw $s2, 0($sp)
li $s3, 1
sll $s3, $s3, 2
add $s2, $s2, $s3
lw $s2, 0($s2)
slt $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1149
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1149:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 4($sp)
sw $s0, 8($sp)
addi $sp, $sp, 0
lw $ra, 12($sp)
jr $ra
j __L1150
__L1147:
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1152
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1152:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1154
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1154:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -20
la $s0, create_value
sw $s0, 16($sp)
la $t0, __L1156
sw $t0, 12($sp)
la $t0, ERR_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1156:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
sw $s0, 8($sp)
addi $sp, $sp, 0
lw $ra, 12($sp)
jr $ra
__L1150:
addi $sp, $sp, 0
lw $ra, 12($sp)
jr $ra
.globl and_values
and_values:
addi $sp, $sp, 0
lw $s0, 4($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1158
lw $s1, 0($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, INT_VAL
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1158:
beq $s0, $zero, __L1159
addi $s0, $sp, 4
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 4($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
beq $s1, $zero, __L1161
lw $s2, 0($sp)
li $s3, 1
sll $s3, $s3, 2
add $s2, $s2, $s3
lw $s2, 0($s2)
sne $s2, $s2, $zero
move $s1, $s2
__L1161:
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1163
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1163:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 4($sp)
sw $s0, 8($sp)
addi $sp, $sp, 0
lw $ra, 12($sp)
jr $ra
j __L1164
__L1159:
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1166
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1166:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1168
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1168:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -20
la $s0, create_value
sw $s0, 16($sp)
la $t0, __L1170
sw $t0, 12($sp)
la $t0, ERR_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1170:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
sw $s0, 8($sp)
addi $sp, $sp, 0
lw $ra, 12($sp)
jr $ra
__L1164:
addi $sp, $sp, 0
lw $ra, 12($sp)
jr $ra
.globl or_values
or_values:
addi $sp, $sp, 0
lw $s0, 4($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1172
lw $s1, 0($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, INT_VAL
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1172:
beq $s0, $zero, __L1173
addi $s0, $sp, 4
lw $s0, 0($s0)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 4($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sne $s1, $s1, $zero
bne $s1, $zero, __L1175
lw $s2, 0($sp)
li $s3, 1
sll $s3, $s3, 2
add $s2, $s2, $s3
lw $s2, 0($s2)
sne $s2, $s2, $zero
move $s1, $s2
__L1175:
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1177
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1177:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 4($sp)
sw $s0, 8($sp)
addi $sp, $sp, 0
lw $ra, 12($sp)
jr $ra
j __L1178
__L1173:
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1180
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1180:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1182
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1182:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -20
la $s0, create_value
sw $s0, 16($sp)
la $t0, __L1184
sw $t0, 12($sp)
la $t0, ERR_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1184:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
sw $s0, 8($sp)
addi $sp, $sp, 0
lw $ra, 12($sp)
jr $ra
__L1178:
addi $sp, $sp, 0
lw $ra, 12($sp)
jr $ra
.globl strfunc
strfunc:
addi $sp, $sp, -36
addi $s0, $sp, 28
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 36($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1185
addi $s0, $sp, 32
lw $s1, 36($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 4
li $s1, 15
add $s0, $s0, $s1
li $s1, 0
sll $s1, $s1, 24
sra $s1, $s1, 24
sb $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 20
addi $s1, $sp, 4
li $s2, 14
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 32($sp)
li $s1, 0
slt $s0, $s0, $s1
beq $s0, $zero, __L1186
addi $s0, $sp, 32
lw $s1, 32($sp)
sub $s1, $zero, $s1
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 28
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
__L1186:
lw $s0, 32($sp)
seq $s0, $s0, $zero
beq $s0, $zero, __L1187
lw $s0, 20($sp)
li $s1, 48
sll $s1, $s1, 24
sra $s1, $s1, 24
sb $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 20
lw $s1, 20($sp)
li $s2, 1
sub $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L1188
__L1187:
__L1189:
lw $s0, 32($sp)
beq $s0, $zero, __L1190
addi $s0, $sp, 0
lw $s1, 32($sp)
li $s2, 10
div $s1, $s2
mfhi $s1
li $s2, 48
add $s1, $s1, $s2
sll $s1, $s1, 24
sra $s1, $s1, 24
sb $s1, 0($s0)
move $s0, $s1
lw $s0, 20($sp)
lb $s1, 0($sp)
sb $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 20
lw $s1, 20($sp)
li $s2, 1
sub $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 32
lw $s1, 32($sp)
li $s2, 10
div $s1, $s2
mflo $s1
sw $s1, 0($s0)
move $s0, $s1
j __L1189
__L1190:
__L1188:
lw $s0, 28($sp)
beq $s0, $zero, __L1191
lw $s0, 20($sp)
li $s1, 45
sll $s1, $s1, 24
sra $s1, $s1, 24
sb $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 20
lw $s1, 20($sp)
li $s2, 1
sub $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
__L1191:
addi $sp, $sp, -20
addi $s0, $sp, 44
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1193
sw $t0, 8($sp)
la $t0, CHAR_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
addi $s0, $sp, 24
lw $s1, 40($sp)
sub $s0, $s0, $s1
li $s1, 16
add $s0, $s0, $s1
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1193:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -20
la $s0, strcpy
sw $s0, 16($sp)
la $t0, __L1195
sw $t0, 12($sp)
lw $t0, 44($sp)
sw $t0, 4($sp)
lw $t0, 40($sp)
sw $t0, 0($sp)
li $s0, 1
lw $t0, 0($sp)
add $t0, $t0, $s0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1195:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1197
sw $t0, 8($sp)
lw $t0, 52($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1197:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -20
la $s0, create_value
sw $s0, 16($sp)
la $t0, __L1199
sw $t0, 12($sp)
la $t0, STR_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 44($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1199:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
sw $s0, 40($sp)
addi $sp, $sp, 36
lw $ra, 8($sp)
jr $ra
j __L1200
__L1185:
lw $s0, 36($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, STR_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1201
lw $s0, 36($sp)
sw $s0, 40($sp)
addi $sp, $sp, 36
lw $ra, 8($sp)
jr $ra
j __L1202
__L1201:
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1204
sw $t0, 8($sp)
lw $t0, 52($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1204:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -20
la $s0, create_value
sw $s0, 16($sp)
la $t0, __L1206
sw $t0, 12($sp)
la $t0, ERR_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1206:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
sw $s0, 40($sp)
addi $sp, $sp, 36
lw $ra, 8($sp)
jr $ra
__L1202:
__L1200:
addi $sp, $sp, 36
lw $ra, 8($sp)
jr $ra
.globl substring
substring:
addi $sp, $sp, -20
lw $s0, 28($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, STR_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1209
lw $s1, 24($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, INT_VAL
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1209:
beq $s0, $zero, __L1210
lw $s1, 20($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, INT_VAL
lw $s2, 0($s2)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1210:
beq $s0, $zero, __L1211
addi $s0, $sp, 4
lw $s1, 28($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 28
la $s1, strlen
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1213
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1213:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 16
lw $s1, 24($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 12
lw $s1, 20($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 16($sp)
li $s1, 0
slt $s0, $s0, $s1
beq $s0, $zero, __L1214
addi $s0, $sp, 16
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
__L1214:
lw $s0, 16($sp)
lw $s1, 8($sp)
slt $s0, $s0, $s1
seq $s0, $s0, $zero
beq $s0, $zero, __L1215
addi $s0, $sp, 16
lw $s1, 8($sp)
li $s2, 1
sub $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
__L1215:
lw $s0, 12($sp)
li $s1, 0
slt $s0, $s0, $s1
beq $s0, $zero, __L1216
addi $s0, $sp, 12
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
__L1216:
lw $s0, 12($sp)
lw $s1, 8($sp)
slt $s0, $s0, $s1
seq $s0, $s0, $zero
beq $s0, $zero, __L1217
addi $s0, $sp, 12
lw $s1, 8($sp)
li $s2, 1
sub $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
__L1217:
lw $s0, 16($sp)
lw $s1, 12($sp)
sgt $s0, $s0, $s1
beq $s0, $zero, __L1218
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1220
sw $t0, 8($sp)
lw $t0, 44($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1220:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1222
sw $t0, 8($sp)
lw $t0, 40($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1222:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1224
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1224:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -20
addi $s0, $sp, 24
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1226
sw $t0, 8($sp)
la $t0, CHAR_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1226:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 4($sp)
li $s1, 0
sll $s1, $s1, 24
sra $s1, $s1, 24
sb $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
la $s0, create_value
sw $s0, 16($sp)
la $t0, __L1228
sw $t0, 12($sp)
la $t0, STR_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1228:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
sw $s0, 32($sp)
addi $sp, $sp, 20
lw $ra, 16($sp)
jr $ra
j __L1229
__L1218:
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1231
sw $t0, 8($sp)
la $t0, CHAR_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $s0, 32($sp)
lw $s1, 36($sp)
sub $s0, $s0, $s1
li $s1, 2
add $s0, $s0, $s1
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1231:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -24
la $s0, strncpy
sw $s0, 20($sp)
la $t0, __L1233
sw $t0, 16($sp)
lw $t0, 24($sp)
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 4($sp)
lw $s0, 40($sp)
lw $t0, 4($sp)
add $t0, $t0, $s0
sw $t0, 4($sp)
lw $t0, 36($sp)
sw $t0, 0($sp)
lw $s0, 40($sp)
lw $t0, 0($sp)
sub $t0, $t0, $s0
sw $t0, 0($sp)
li $s0, 1
lw $t0, 0($sp)
add $t0, $t0, $s0
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L1233:
addi $sp, $sp, 0
lw $t0, 12($sp)
lw $s0, 20($sp)
move $s0, $t0
addi $sp, $sp, 24
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1235
sw $t0, 8($sp)
lw $t0, 44($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1235:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1237
sw $t0, 8($sp)
lw $t0, 40($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1237:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1239
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1239:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -20
la $s0, create_value
sw $s0, 16($sp)
la $t0, __L1241
sw $t0, 12($sp)
la $t0, STR_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1241:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
sw $s0, 32($sp)
addi $sp, $sp, 20
lw $ra, 16($sp)
jr $ra
__L1229:
j __L1242
__L1211:
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1244
sw $t0, 8($sp)
lw $t0, 44($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1244:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1246
sw $t0, 8($sp)
lw $t0, 40($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1246:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1248
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1248:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -20
la $s0, create_value
sw $s0, 16($sp)
la $t0, __L1250
sw $t0, 12($sp)
la $t0, ERR_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1250:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
sw $s0, 32($sp)
addi $sp, $sp, 20
lw $ra, 16($sp)
jr $ra
__L1242:
addi $sp, $sp, 20
lw $ra, 16($sp)
jr $ra
.globl evaluate
evaluate:
addi $sp, $sp, -24
lw $s0, 24($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_TOKEN
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1251
addi $sp, $sp, -20
la $s0, create_value
sw $s0, 16($sp)
la $t0, __L1253
sw $t0, 12($sp)
la $t0, INT_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 44($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1253:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
sw $s0, 28($sp)
addi $sp, $sp, 24
lw $ra, 8($sp)
jr $ra
j __L1254
__L1251:
lw $s0, 24($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, STR_TOKEN
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1255
addi $sp, $sp, -32
la $s0, create_value
sw $s0, 28($sp)
la $t0, __L1258
sw $t0, 24($sp)
la $t0, STR_VAL
lw $t0, 0($t0)
sw $t0, 16($sp)
la $t0, duplicate_str
sw $t0, 12($sp)
la $t0, __L1259
sw $t0, 8($sp)
lw $t0, 56($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1259:
addi $sp, $sp, 0
lw $t0, 4($sp)
sw $t0, 12($sp)
lw $t0, 28($sp)
addi $sp, $sp, 12
jr $t0
__L1258:
addi $sp, $sp, -12
lw $t0, 20($sp)
lw $s0, 28($sp)
move $s0, $t0
addi $sp, $sp, 32
sw $s0, 28($sp)
addi $sp, $sp, 24
lw $ra, 8($sp)
jr $ra
j __L1260
__L1255:
lw $s0, 24($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, PLUS
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1261
addi $sp, $sp, -32
la $s0, add_values
sw $s0, 28($sp)
la $t0, __L1265
sw $t0, 24($sp)
la $t0, evaluate
sw $t0, 16($sp)
la $t0, __L1266
sw $t0, 12($sp)
lw $t0, 56($sp)
sw $t0, 4($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 4($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 16($sp)
addi $sp, $sp, 4
jr $t0
__L1266:
addi $sp, $sp, -4
lw $t0, 8($sp)
sw $t0, 16($sp)
la $t0, evaluate
sw $t0, 12($sp)
la $t0, __L1267
sw $t0, 8($sp)
lw $t0, 56($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1267:
addi $sp, $sp, 0
lw $t0, 4($sp)
sw $t0, 12($sp)
lw $t0, 28($sp)
addi $sp, $sp, 12
jr $t0
__L1265:
addi $sp, $sp, -12
lw $t0, 20($sp)
lw $s0, 28($sp)
move $s0, $t0
addi $sp, $sp, 32
sw $s0, 28($sp)
addi $sp, $sp, 24
lw $ra, 8($sp)
jr $ra
j __L1268
__L1261:
lw $s0, 24($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, MINUS
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1269
addi $sp, $sp, -32
la $s0, subtract_values
sw $s0, 28($sp)
la $t0, __L1273
sw $t0, 24($sp)
la $t0, evaluate
sw $t0, 16($sp)
la $t0, __L1274
sw $t0, 12($sp)
lw $t0, 56($sp)
sw $t0, 4($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 4($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 16($sp)
addi $sp, $sp, 4
jr $t0
__L1274:
addi $sp, $sp, -4
lw $t0, 8($sp)
sw $t0, 16($sp)
la $t0, evaluate
sw $t0, 12($sp)
la $t0, __L1275
sw $t0, 8($sp)
lw $t0, 56($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1275:
addi $sp, $sp, 0
lw $t0, 4($sp)
sw $t0, 12($sp)
lw $t0, 28($sp)
addi $sp, $sp, 12
jr $t0
__L1273:
addi $sp, $sp, -12
lw $t0, 20($sp)
lw $s0, 28($sp)
move $s0, $t0
addi $sp, $sp, 32
sw $s0, 28($sp)
addi $sp, $sp, 24
lw $ra, 8($sp)
jr $ra
j __L1276
__L1269:
lw $s0, 24($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, MULTIPLY
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1277
addi $sp, $sp, -32
la $s0, multiply_values
sw $s0, 28($sp)
la $t0, __L1281
sw $t0, 24($sp)
la $t0, evaluate
sw $t0, 16($sp)
la $t0, __L1282
sw $t0, 12($sp)
lw $t0, 56($sp)
sw $t0, 4($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 4($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 16($sp)
addi $sp, $sp, 4
jr $t0
__L1282:
addi $sp, $sp, -4
lw $t0, 8($sp)
sw $t0, 16($sp)
la $t0, evaluate
sw $t0, 12($sp)
la $t0, __L1283
sw $t0, 8($sp)
lw $t0, 56($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1283:
addi $sp, $sp, 0
lw $t0, 4($sp)
sw $t0, 12($sp)
lw $t0, 28($sp)
addi $sp, $sp, 12
jr $t0
__L1281:
addi $sp, $sp, -12
lw $t0, 20($sp)
lw $s0, 28($sp)
move $s0, $t0
addi $sp, $sp, 32
sw $s0, 28($sp)
addi $sp, $sp, 24
lw $ra, 8($sp)
jr $ra
j __L1284
__L1277:
lw $s0, 24($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, DIVIDE
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1285
addi $sp, $sp, -32
la $s0, divide_values
sw $s0, 28($sp)
la $t0, __L1289
sw $t0, 24($sp)
la $t0, evaluate
sw $t0, 16($sp)
la $t0, __L1290
sw $t0, 12($sp)
lw $t0, 56($sp)
sw $t0, 4($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 4($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 16($sp)
addi $sp, $sp, 4
jr $t0
__L1290:
addi $sp, $sp, -4
lw $t0, 8($sp)
sw $t0, 16($sp)
la $t0, evaluate
sw $t0, 12($sp)
la $t0, __L1291
sw $t0, 8($sp)
lw $t0, 56($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1291:
addi $sp, $sp, 0
lw $t0, 4($sp)
sw $t0, 12($sp)
lw $t0, 28($sp)
addi $sp, $sp, 12
jr $t0
__L1289:
addi $sp, $sp, -12
lw $t0, 20($sp)
lw $s0, 28($sp)
move $s0, $t0
addi $sp, $sp, 32
sw $s0, 28($sp)
addi $sp, $sp, 24
lw $ra, 8($sp)
jr $ra
j __L1292
__L1285:
lw $s0, 24($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, EQUALS
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1293
addi $sp, $sp, -32
la $s0, equals_values
sw $s0, 28($sp)
la $t0, __L1297
sw $t0, 24($sp)
la $t0, evaluate
sw $t0, 16($sp)
la $t0, __L1298
sw $t0, 12($sp)
lw $t0, 56($sp)
sw $t0, 4($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 4($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 16($sp)
addi $sp, $sp, 4
jr $t0
__L1298:
addi $sp, $sp, -4
lw $t0, 8($sp)
sw $t0, 16($sp)
la $t0, evaluate
sw $t0, 12($sp)
la $t0, __L1299
sw $t0, 8($sp)
lw $t0, 56($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1299:
addi $sp, $sp, 0
lw $t0, 4($sp)
sw $t0, 12($sp)
lw $t0, 28($sp)
addi $sp, $sp, 12
jr $t0
__L1297:
addi $sp, $sp, -12
lw $t0, 20($sp)
lw $s0, 28($sp)
move $s0, $t0
addi $sp, $sp, 32
sw $s0, 28($sp)
addi $sp, $sp, 24
lw $ra, 8($sp)
jr $ra
j __L1300
__L1293:
lw $s0, 24($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, NOT_EQUALS
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1301
addi $sp, $sp, -32
la $s0, not_equals_values
sw $s0, 28($sp)
la $t0, __L1305
sw $t0, 24($sp)
la $t0, evaluate
sw $t0, 16($sp)
la $t0, __L1306
sw $t0, 12($sp)
lw $t0, 56($sp)
sw $t0, 4($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 4($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 16($sp)
addi $sp, $sp, 4
jr $t0
__L1306:
addi $sp, $sp, -4
lw $t0, 8($sp)
sw $t0, 16($sp)
la $t0, evaluate
sw $t0, 12($sp)
la $t0, __L1307
sw $t0, 8($sp)
lw $t0, 56($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1307:
addi $sp, $sp, 0
lw $t0, 4($sp)
sw $t0, 12($sp)
lw $t0, 28($sp)
addi $sp, $sp, 12
jr $t0
__L1305:
addi $sp, $sp, -12
lw $t0, 20($sp)
lw $s0, 28($sp)
move $s0, $t0
addi $sp, $sp, 32
sw $s0, 28($sp)
addi $sp, $sp, 24
lw $ra, 8($sp)
jr $ra
j __L1308
__L1301:
lw $s0, 24($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, GREATER_THAN
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1309
addi $sp, $sp, -32
la $s0, greater_than_values
sw $s0, 28($sp)
la $t0, __L1313
sw $t0, 24($sp)
la $t0, evaluate
sw $t0, 16($sp)
la $t0, __L1314
sw $t0, 12($sp)
lw $t0, 56($sp)
sw $t0, 4($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 4($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 16($sp)
addi $sp, $sp, 4
jr $t0
__L1314:
addi $sp, $sp, -4
lw $t0, 8($sp)
sw $t0, 16($sp)
la $t0, evaluate
sw $t0, 12($sp)
la $t0, __L1315
sw $t0, 8($sp)
lw $t0, 56($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1315:
addi $sp, $sp, 0
lw $t0, 4($sp)
sw $t0, 12($sp)
lw $t0, 28($sp)
addi $sp, $sp, 12
jr $t0
__L1313:
addi $sp, $sp, -12
lw $t0, 20($sp)
lw $s0, 28($sp)
move $s0, $t0
addi $sp, $sp, 32
sw $s0, 28($sp)
addi $sp, $sp, 24
lw $ra, 8($sp)
jr $ra
j __L1316
__L1309:
lw $s0, 24($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, LESS_THAN
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1317
addi $sp, $sp, -32
la $s0, less_than_values
sw $s0, 28($sp)
la $t0, __L1321
sw $t0, 24($sp)
la $t0, evaluate
sw $t0, 16($sp)
la $t0, __L1322
sw $t0, 12($sp)
lw $t0, 56($sp)
sw $t0, 4($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 4($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 16($sp)
addi $sp, $sp, 4
jr $t0
__L1322:
addi $sp, $sp, -4
lw $t0, 8($sp)
sw $t0, 16($sp)
la $t0, evaluate
sw $t0, 12($sp)
la $t0, __L1323
sw $t0, 8($sp)
lw $t0, 56($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1323:
addi $sp, $sp, 0
lw $t0, 4($sp)
sw $t0, 12($sp)
lw $t0, 28($sp)
addi $sp, $sp, 12
jr $t0
__L1321:
addi $sp, $sp, -12
lw $t0, 20($sp)
lw $s0, 28($sp)
move $s0, $t0
addi $sp, $sp, 32
sw $s0, 28($sp)
addi $sp, $sp, 24
lw $ra, 8($sp)
jr $ra
j __L1324
__L1317:
lw $s0, 24($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, OR
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1325
addi $sp, $sp, -32
la $s0, or_values
sw $s0, 28($sp)
la $t0, __L1329
sw $t0, 24($sp)
la $t0, evaluate
sw $t0, 16($sp)
la $t0, __L1330
sw $t0, 12($sp)
lw $t0, 56($sp)
sw $t0, 4($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 4($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 16($sp)
addi $sp, $sp, 4
jr $t0
__L1330:
addi $sp, $sp, -4
lw $t0, 8($sp)
sw $t0, 16($sp)
la $t0, evaluate
sw $t0, 12($sp)
la $t0, __L1331
sw $t0, 8($sp)
lw $t0, 56($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1331:
addi $sp, $sp, 0
lw $t0, 4($sp)
sw $t0, 12($sp)
lw $t0, 28($sp)
addi $sp, $sp, 12
jr $t0
__L1329:
addi $sp, $sp, -12
lw $t0, 20($sp)
lw $s0, 28($sp)
move $s0, $t0
addi $sp, $sp, 32
sw $s0, 28($sp)
addi $sp, $sp, 24
lw $ra, 8($sp)
jr $ra
j __L1332
__L1325:
lw $s0, 24($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, AND
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1333
addi $sp, $sp, -32
la $s0, and_values
sw $s0, 28($sp)
la $t0, __L1337
sw $t0, 24($sp)
la $t0, evaluate
sw $t0, 16($sp)
la $t0, __L1338
sw $t0, 12($sp)
lw $t0, 56($sp)
sw $t0, 4($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 4($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 16($sp)
addi $sp, $sp, 4
jr $t0
__L1338:
addi $sp, $sp, -4
lw $t0, 8($sp)
sw $t0, 16($sp)
la $t0, evaluate
sw $t0, 12($sp)
la $t0, __L1339
sw $t0, 8($sp)
lw $t0, 56($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1339:
addi $sp, $sp, 0
lw $t0, 4($sp)
sw $t0, 12($sp)
lw $t0, 28($sp)
addi $sp, $sp, 12
jr $t0
__L1337:
addi $sp, $sp, -12
lw $t0, 20($sp)
lw $s0, 28($sp)
move $s0, $t0
addi $sp, $sp, 32
sw $s0, 28($sp)
addi $sp, $sp, 24
lw $ra, 8($sp)
jr $ra
j __L1340
__L1333:
lw $s0, 24($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, VAR_TOKEN
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1341
addi $sp, $sp, -28
addi $s0, $sp, 48
la $s1, read_dictionary
sw $s1, 24($sp)
sw $s0, 20($sp)
la $t0, __L1343
sw $t0, 16($sp)
la $t0, variables
lw $t0, 0($t0)
sw $t0, 8($sp)
lw $t0, 52($sp)
sw $t0, 4($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 4($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 0($sp)
sll $t0, $t0, 24
sra $t0, $t0, 24
sw $t0, 0($sp)
lw $t0, 24($sp)
addi $sp, $sp, 0
jr $t0
__L1343:
addi $sp, $sp, 0
lw $t0, 12($sp)
lw $s0, 20($sp)
lw $s1, 24($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 28
lw $s0, 20($sp)
seq $s0, $s0, $zero
beq $s0, $zero, __L1344
addi $sp, $sp, -20
la $s0, create_value
sw $s0, 16($sp)
la $t0, __L1346
sw $t0, 12($sp)
la $t0, INT_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1346:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
sw $s0, 28($sp)
addi $sp, $sp, 24
lw $ra, 8($sp)
jr $ra
__L1344:
addi $s0, $sp, 16
lw $s1, 24($sp)
li $s2, 2
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 16($sp)
beq $s0, $zero, __L1347
addi $sp, $sp, -20
addi $s0, $sp, 24
la $s1, evaluate
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1349
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1349:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 4($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1350
addi $s0, $sp, 12
lw $s1, 4($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
j __L1351
__L1350:
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1353
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1353:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -20
la $s0, create_value
sw $s0, 16($sp)
la $t0, __L1355
sw $t0, 12($sp)
la $t0, ERR_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1355:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
sw $s0, 28($sp)
addi $sp, $sp, 24
lw $ra, 8($sp)
jr $ra
__L1351:
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1357
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1357:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $s0, $sp, 8
lw $s1, 20($sp)
li $s2, 2
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 12($sp)
lw $s1, 8($sp)
slt $s0, $s0, $s1
seq $s0, $s0, $zero
sne $s0, $s0, $zero
bne $s0, $zero, __L1359
lw $s1, 12($sp)
li $s2, 0
slt $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1359:
beq $s0, $zero, __L1360
addi $sp, $sp, -20
la $s0, create_value
sw $s0, 16($sp)
la $t0, __L1362
sw $t0, 12($sp)
la $t0, ERR_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1362:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
sw $s0, 28($sp)
addi $sp, $sp, 24
lw $ra, 8($sp)
jr $ra
__L1360:
j __L1363
__L1347:
addi $s0, $sp, 12
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
__L1363:
addi $s0, $sp, 0
lw $s1, 20($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
lw $s2, 12($sp)
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, STR_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1364
addi $sp, $sp, -32
la $s0, create_value
sw $s0, 28($sp)
la $t0, __L1367
sw $t0, 24($sp)
lw $t0, 32($sp)
sw $t0, 16($sp)
li $s0, 0
sll $s0, $s0, 2
lw $t0, 16($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 16($sp)
la $t0, duplicate_str
sw $t0, 12($sp)
la $t0, __L1368
sw $t0, 8($sp)
lw $t0, 32($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1368:
addi $sp, $sp, 0
lw $t0, 4($sp)
sw $t0, 12($sp)
lw $t0, 28($sp)
addi $sp, $sp, 12
jr $t0
__L1367:
addi $sp, $sp, -12
lw $t0, 20($sp)
lw $s0, 28($sp)
move $s0, $t0
addi $sp, $sp, 32
sw $s0, 28($sp)
addi $sp, $sp, 24
lw $ra, 8($sp)
jr $ra
j __L1369
__L1364:
addi $sp, $sp, -20
la $s0, create_value
sw $s0, 16($sp)
la $t0, __L1371
sw $t0, 12($sp)
lw $t0, 20($sp)
sw $t0, 4($sp)
li $s0, 0
sll $s0, $s0, 2
lw $t0, 4($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1371:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
sw $s0, 28($sp)
addi $sp, $sp, 24
lw $ra, 8($sp)
jr $ra
__L1369:
j __L1372
__L1341:
lw $s0, 24($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, SUBSTRING
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1373
addi $sp, $sp, -24
addi $s0, $sp, 20
lw $s1, 48($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 16
lw $s1, 48($sp)
li $s2, 2
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 12
lw $s1, 48($sp)
li $s2, 3
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 28
la $s1, evaluate
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1375
sw $t0, 8($sp)
lw $t0, 40($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1375:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -20
addi $s0, $sp, 24
la $s1, evaluate
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1377
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1377:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, evaluate
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1379
sw $t0, 8($sp)
lw $t0, 32($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1379:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -24
la $s0, substring
sw $s0, 20($sp)
la $t0, __L1381
sw $t0, 16($sp)
lw $t0, 32($sp)
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 4($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L1381:
addi $sp, $sp, 0
lw $t0, 12($sp)
lw $s0, 20($sp)
move $s0, $t0
addi $sp, $sp, 24
sw $s0, 52($sp)
addi $sp, $sp, 48
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 24
j __L1382
__L1373:
lw $s0, 24($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, STRFUNC
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1383
addi $sp, $sp, -8
addi $s0, $sp, 4
lw $s1, 32($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, evaluate
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1385
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1385:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -16
la $s0, strfunc
sw $s0, 12($sp)
la $t0, __L1387
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1387:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 36($sp)
addi $sp, $sp, 32
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 8
j __L1388
__L1383:
addi $sp, $sp, -20
la $s0, create_value
sw $s0, 16($sp)
la $t0, __L1390
sw $t0, 12($sp)
la $t0, ERR_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1390:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
sw $s0, 28($sp)
addi $sp, $sp, 24
lw $ra, 8($sp)
jr $ra
__L1388:
__L1382:
__L1372:
__L1340:
__L1332:
__L1324:
__L1316:
__L1308:
__L1300:
__L1292:
__L1284:
__L1276:
__L1268:
__L1260:
__L1254:
addi $sp, $sp, 24
lw $ra, 8($sp)
jr $ra
.globl print_value
print_value:
addi $sp, $sp, 0
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1391
addi $sp, $sp, -16
la $s0, printd
sw $s0, 12($sp)
la $t0, __L1393
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1393:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L1394
__L1391:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, STR_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1395
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L1397
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1397:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L1395:
__L1394:
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl run_print
run_print:
addi $sp, $sp, -4
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, evaluate
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1399
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1399:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -16
la $s0, print_value
sw $s0, 12($sp)
la $t0, __L1401
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1401:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, ERR_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1402
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1404
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1404:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 1
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
j __L1405
__L1402:
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L1407
sw $t0, 8($sp)
la $t0, __str84
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1407:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1409
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1409:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L1405:
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl run_if
run_if:
addi $sp, $sp, -4
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, evaluate
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1411
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1411:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, ERR_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1412
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1414
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1414:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 1
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
j __L1415
__L1412:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_VAL
lw $s1, 0($s1)
sne $s0, $s0, $s1
sne $s0, $s0, $zero
bne $s0, $zero, __L1418
lw $s1, 0($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, INT_VAL
lw $s2, 0($s2)
seq $s1, $s1, $s2
beq $s1, $zero, __L1419
lw $s2, 0($sp)
li $s3, 1
sll $s3, $s3, 2
add $s2, $s2, $s3
lw $s2, 0($s2)
sne $s2, $s2, $zero
move $s1, $s2
__L1419:
sne $s1, $s1, $zero
move $s0, $s1
__L1418:
beq $s0, $zero, __L1420
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1422
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1422:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
j __L1423
__L1420:
la $s0, do_skip_if
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1425
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1425:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L1423:
__L1415:
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl run_goto
run_goto:
addi $sp, $sp, -4
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, evaluate
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1427
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1427:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_VAL
lw $s1, 0($s1)
sne $s0, $s0, $s1
beq $s0, $zero, __L1428
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1430
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1430:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 1
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L1428:
la $s0, goto_label
lw $s1, 0($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1432
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1432:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
la $s0, do_goto
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl run_gosub
run_gosub:
addi $sp, $sp, -4
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, evaluate
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1434
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1434:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_VAL
lw $s1, 0($s1)
sne $s0, $s0, $s1
beq $s0, $zero, __L1435
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1437
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1437:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 1
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L1435:
la $s0, goto_label
lw $s1, 0($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1439
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1439:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
la $s0, do_gosub
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl run_return
run_return:
addi $sp, $sp, 0
la $s0, do_return
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
li $s0, 0
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl run_while
run_while:
addi $sp, $sp, -4
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, evaluate
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1441
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1441:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, ERR_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1442
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1444
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1444:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 1
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
j __L1445
__L1442:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_VAL
lw $s1, 0($s1)
sne $s0, $s0, $s1
sne $s0, $s0, $zero
bne $s0, $zero, __L1448
lw $s1, 0($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
la $s2, INT_VAL
lw $s2, 0($s2)
seq $s1, $s1, $s2
beq $s1, $zero, __L1449
lw $s2, 0($sp)
li $s3, 1
sll $s3, $s3, 2
add $s2, $s2, $s3
lw $s2, 0($s2)
sne $s2, $s2, $zero
move $s1, $s2
__L1449:
sne $s1, $s1, $zero
move $s0, $s1
__L1448:
beq $s0, $zero, __L1450
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1452
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1452:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
j __L1453
__L1450:
la $s0, do_skip_while
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1455
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1455:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L1453:
__L1445:
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl set_var
set_var:
addi $sp, $sp, -28
addi $sp, $sp, -28
addi $s0, $sp, 52
la $s1, read_dictionary
sw $s1, 24($sp)
sw $s0, 20($sp)
la $t0, __L1457
sw $t0, 16($sp)
la $t0, variables
lw $t0, 0($t0)
sw $t0, 8($sp)
lw $t0, 60($sp)
sw $t0, 4($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 4($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 0($sp)
sll $t0, $t0, 24
sra $t0, $t0, 24
sw $t0, 0($sp)
lw $t0, 24($sp)
addi $sp, $sp, 0
jr $t0
__L1457:
addi $sp, $sp, 0
lw $t0, 12($sp)
lw $s0, 20($sp)
lw $s1, 24($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 28
lw $s0, 24($sp)
seq $s0, $s0, $zero
beq $s0, $zero, __L1458
addi $s0, $sp, 20
lw $s1, 32($sp)
li $s2, 2
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 20($sp)
beq $s0, $zero, __L1459
addi $sp, $sp, -20
addi $s0, $sp, 36
la $s1, evaluate
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1461
sw $t0, 8($sp)
lw $t0, 40($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1461:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 16($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1462
addi $s0, $sp, 4
lw $s1, 16($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
j __L1463
__L1462:
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1465
sw $t0, 8($sp)
lw $t0, 32($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1465:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 1
sw $s0, 36($sp)
addi $sp, $sp, 28
lw $ra, 12($sp)
jr $ra
__L1463:
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1467
sw $t0, 8($sp)
lw $t0, 32($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1467:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L1468
__L1459:
addi $s0, $sp, 4
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
__L1468:
lw $s0, 4($sp)
li $s1, 0
sne $s0, $s0, $s1
beq $s0, $zero, __L1469
li $s0, 1
sw $s0, 36($sp)
addi $sp, $sp, 28
lw $ra, 12($sp)
jr $ra
__L1469:
addi $sp, $sp, -20
addi $s0, $sp, 32
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1471
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1471:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 12
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 28($sp)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -44
la $s0, write_dictionary
sw $s0, 40($sp)
la $t0, __L1474
sw $t0, 36($sp)
la $t0, variables
lw $t0, 0($t0)
sw $t0, 28($sp)
lw $t0, 76($sp)
sw $t0, 24($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 24($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 24($sp)
la $t0, create_variable
sw $t0, 20($sp)
la $t0, __L1475
sw $t0, 16($sp)
la $t0, INTVAR
lw $t0, 0($t0)
sw $t0, 8($sp)
lw $t0, 56($sp)
sw $t0, 4($sp)
li $t0, 1
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L1475:
addi $sp, $sp, 0
lw $t0, 12($sp)
sw $t0, 20($sp)
li $t0, 0
sw $t0, 16($sp)
lw $t0, 16($sp)
sll $t0, $t0, 24
sra $t0, $t0, 24
sw $t0, 16($sp)
lw $t0, 40($sp)
addi $sp, $sp, 16
jr $t0
__L1474:
addi $sp, $sp, -16
lw $t0, 32($sp)
lw $s0, 40($sp)
move $s0, $t0
addi $sp, $sp, 44
j __L1476
__L1458:
addi $s0, $sp, 20
lw $s1, 32($sp)
li $s2, 2
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 20($sp)
beq $s0, $zero, __L1477
addi $sp, $sp, -20
addi $s0, $sp, 36
la $s1, evaluate
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1479
sw $t0, 8($sp)
lw $t0, 40($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1479:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 16($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1480
addi $s0, $sp, 4
lw $s1, 16($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
j __L1481
__L1480:
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1483
sw $t0, 8($sp)
lw $t0, 32($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1483:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 1
sw $s0, 36($sp)
addi $sp, $sp, 28
lw $ra, 12($sp)
jr $ra
__L1481:
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1485
sw $t0, 8($sp)
lw $t0, 32($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1485:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L1486
__L1477:
addi $s0, $sp, 4
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
__L1486:
addi $s0, $sp, 0
lw $s1, 24($sp)
li $s2, 2
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 4($sp)
lw $s1, 0($sp)
slt $s0, $s0, $s1
seq $s0, $s0, $zero
sne $s0, $s0, $zero
bne $s0, $zero, __L1488
lw $s1, 4($sp)
li $s2, 0
slt $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1488:
beq $s0, $zero, __L1489
li $s0, 1
sw $s0, 36($sp)
addi $sp, $sp, 28
lw $ra, 12($sp)
jr $ra
__L1489:
addi $s0, $sp, 8
lw $s1, 24($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
lw $s2, 4($sp)
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1491
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1491:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 24($sp)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
lw $s1, 4($sp)
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 28($sp)
sw $s1, 0($s0)
move $s0, $s1
__L1476:
li $s0, 0
sw $s0, 36($sp)
addi $sp, $sp, 28
lw $ra, 12($sp)
jr $ra
addi $sp, $sp, 28
lw $ra, 12($sp)
jr $ra
.globl del_var
del_var:
addi $sp, $sp, -16
addi $sp, $sp, -28
addi $s0, $sp, 40
la $s1, read_dictionary
sw $s1, 24($sp)
sw $s0, 20($sp)
la $t0, __L1493
sw $t0, 16($sp)
la $t0, variables
lw $t0, 0($t0)
sw $t0, 8($sp)
lw $t0, 44($sp)
sw $t0, 4($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 4($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 0($sp)
sll $t0, $t0, 24
sra $t0, $t0, 24
sw $t0, 0($sp)
lw $t0, 24($sp)
addi $sp, $sp, 0
jr $t0
__L1493:
addi $sp, $sp, 0
lw $t0, 12($sp)
lw $s0, 20($sp)
lw $s1, 24($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 28
lw $s0, 12($sp)
seq $s0, $s0, $zero
beq $s0, $zero, __L1494
addi $sp, $sp, 16
lw $ra, 8($sp)
jr $ra
__L1494:
addi $s0, $sp, 8
lw $s1, 12($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 0
lw $s1, 12($sp)
li $s2, 2
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 4
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
__L1495:
lw $s0, 4($sp)
lw $s1, 0($sp)
slt $s0, $s0, $s1
beq $s0, $zero, __L1496
j __L1497
__L1498:
addi $s0, $sp, 4
lw $s1, 4($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L1495
__L1497:
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1500
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $s0, 20($sp)
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1500:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L1498
__L1496:
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L1502
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1502:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, kfree
sw $s0, 12($sp)
la $t0, __L1504
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1504:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -28
la $s0, write_dictionary
sw $s0, 24($sp)
la $t0, __L1506
sw $t0, 20($sp)
la $t0, variables
lw $t0, 0($t0)
sw $t0, 12($sp)
lw $t0, 44($sp)
sw $t0, 8($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 8($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 8($sp)
li $t0, 0
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 0($sp)
sll $t0, $t0, 24
sra $t0, $t0, 24
sw $t0, 0($sp)
lw $t0, 24($sp)
addi $sp, $sp, 0
jr $t0
__L1506:
addi $sp, $sp, 0
lw $t0, 16($sp)
lw $s0, 24($sp)
move $s0, $t0
addi $sp, $sp, 28
addi $sp, $sp, 16
lw $ra, 8($sp)
jr $ra
.globl run_dim
run_dim:
addi $sp, $sp, -28
addi $s0, $sp, 24
lw $s1, 28($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 20
lw $s1, 28($sp)
li $s2, 2
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 36
la $s1, evaluate
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1508
sw $t0, 8($sp)
lw $t0, 40($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1508:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 16($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INT_VAL
lw $s1, 0($s1)
sne $s0, $s0, $s1
sne $s0, $s0, $zero
bne $s0, $zero, __L1510
lw $s1, 16($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
li $s2, 1
slt $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1510:
beq $s0, $zero, __L1511
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1513
sw $t0, 8($sp)
lw $t0, 32($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1513:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 1
sw $s0, 32($sp)
addi $sp, $sp, 28
lw $ra, 8($sp)
jr $ra
__L1511:
addi $sp, $sp, -16
la $s0, del_var
sw $s0, 12($sp)
la $t0, __L1515
sw $t0, 8($sp)
lw $t0, 40($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1515:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $s0, $sp, 4
lw $s1, 16($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1517
sw $t0, 8($sp)
lw $t0, 32($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1517:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -20
addi $s0, $sp, 32
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1519
sw $t0, 8($sp)
la $t0, POINTER_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $s0, 24($sp)
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1519:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
__L1520:
lw $s0, 0($sp)
lw $s1, 4($sp)
slt $s0, $s0, $s1
beq $s0, $zero, __L1521
j __L1522
__L1523:
addi $s0, $sp, 0
lw $s1, 0($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L1520
__L1522:
addi $sp, $sp, -24
addi $s0, $sp, 36
lw $s0, 0($s0)
lw $s1, 24($sp)
sll $s1, $s1, 2
add $s0, $s0, $s1
la $s1, create_value
sw $s1, 20($sp)
sw $s0, 16($sp)
la $t0, __L1525
sw $t0, 12($sp)
la $t0, INT_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L1525:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
lw $s1, 20($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 24
j __L1523
__L1521:
addi $sp, $sp, -28
addi $s0, $sp, 36
la $s1, create_variable
sw $s1, 24($sp)
sw $s0, 20($sp)
la $t0, __L1527
sw $t0, 16($sp)
la $t0, INTVAR
lw $t0, 0($t0)
sw $t0, 8($sp)
lw $t0, 40($sp)
sw $t0, 4($sp)
lw $t0, 32($sp)
sw $t0, 0($sp)
lw $t0, 24($sp)
addi $sp, $sp, 0
jr $t0
__L1527:
addi $sp, $sp, 0
lw $t0, 12($sp)
lw $s0, 20($sp)
lw $s1, 24($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 28
addi $sp, $sp, -28
la $s0, write_dictionary
sw $s0, 24($sp)
la $t0, __L1529
sw $t0, 20($sp)
la $t0, variables
lw $t0, 0($t0)
sw $t0, 12($sp)
lw $t0, 52($sp)
sw $t0, 8($sp)
li $s0, 1
sll $s0, $s0, 2
lw $t0, 8($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 4($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 0($sp)
sll $t0, $t0, 24
sra $t0, $t0, 24
sw $t0, 0($sp)
lw $t0, 24($sp)
addi $sp, $sp, 0
jr $t0
__L1529:
addi $sp, $sp, 0
lw $t0, 16($sp)
lw $s0, 24($sp)
move $s0, $t0
addi $sp, $sp, 28
li $s0, 0
sw $s0, 32($sp)
addi $sp, $sp, 28
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 28
lw $ra, 8($sp)
jr $ra
.globl run_input
run_input:
addi $sp, $sp, -12
addi $sp, $sp, -16
addi $s0, $sp, 24
la $s1, inputd
sw $s1, 12($sp)
sw $s0, 8($sp)
la $t0, __L1531
sw $t0, 4($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1531:
addi $sp, $sp, 0
lw $t0, 0($sp)
lw $s0, 8($sp)
lw $s1, 12($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 16
addi $s0, $sp, 4
lw $s1, 12($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -24
addi $s0, $sp, 24
la $s1, create_value
sw $s1, 20($sp)
sw $s0, 16($sp)
la $t0, __L1533
sw $t0, 12($sp)
la $t0, INT_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 32($sp)
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L1533:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
lw $s1, 20($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 24
addi $sp, $sp, -20
la $s0, set_var
sw $s0, 16($sp)
la $t0, __L1535
sw $t0, 12($sp)
lw $t0, 24($sp)
sw $t0, 4($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1535:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
beq $s0, $zero, __L1536
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1538
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1538:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 1
sw $s0, 16($sp)
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
__L1536:
li $s0, 0
sw $s0, 16($sp)
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
.globl run_inputstr
run_inputstr:
addi $sp, $sp, -272
addi $sp, $sp, -20
la $s0, inputs
sw $s0, 16($sp)
la $t0, __L1540
sw $t0, 12($sp)
addi $t0, $sp, 36
sw $t0, 4($sp)
li $t0, 256
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1540:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
addi $sp, $sp, -20
addi $s0, $sp, 32
la $s1, strlen
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1542
sw $t0, 8($sp)
addi $t0, $sp, 36
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1542:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 12($sp)
beq $s0, $zero, __L1543
addi $s0, $sp, 16
lw $s1, 12($sp)
li $s2, 1
sub $s1, $s1, $s2
add $s0, $s0, $s1
li $s1, 0
sll $s1, $s1, 24
sra $s1, $s1, 24
sb $s1, 0($s0)
move $s0, $s1
addi $s0, $sp, 12
lw $s1, 12($sp)
li $s2, 1
sub $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
__L1543:
addi $sp, $sp, -20
addi $s0, $sp, 28
la $s1, kmalloc
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1545
sw $t0, 8($sp)
la $t0, CHAR_SIZE
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $s0, 32($sp)
li $s1, 1
add $s0, $s0, $s1
lw $t0, 0($sp)
mult $t0, $s0
mflo $t0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1545:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -20
la $s0, strcpy
sw $s0, 16($sp)
la $t0, __L1547
sw $t0, 12($sp)
lw $t0, 28($sp)
sw $t0, 4($sp)
addi $t0, $sp, 36
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1547:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
addi $s0, $sp, 4
lw $s1, 272($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -24
addi $s0, $sp, 24
la $s1, create_value
sw $s1, 20($sp)
sw $s0, 16($sp)
la $t0, __L1549
sw $t0, 12($sp)
la $t0, STR_VAL
lw $t0, 0($t0)
sw $t0, 4($sp)
lw $t0, 32($sp)
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L1549:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
lw $s1, 20($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 24
addi $sp, $sp, -20
la $s0, set_var
sw $s0, 16($sp)
la $t0, __L1551
sw $t0, 12($sp)
lw $t0, 24($sp)
sw $t0, 4($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1551:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
beq $s0, $zero, __L1552
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1554
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1554:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 1
sw $s0, 276($sp)
addi $sp, $sp, 272
lw $ra, 8($sp)
jr $ra
__L1552:
li $s0, 0
sw $s0, 276($sp)
addi $sp, $sp, 272
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 272
lw $ra, 8($sp)
jr $ra
.globl run_let
run_let:
addi $sp, $sp, -12
addi $s0, $sp, 8
lw $s1, 12($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, evaluate
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1556
sw $t0, 8($sp)
lw $t0, 32($sp)
sw $t0, 0($sp)
li $s0, 2
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1556:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, ERR_VAL
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1557
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1559
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1559:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 1
sw $s0, 16($sp)
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
__L1557:
addi $sp, $sp, -20
la $s0, set_var
sw $s0, 16($sp)
la $t0, __L1561
sw $t0, 12($sp)
lw $t0, 28($sp)
sw $t0, 4($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1561:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
beq $s0, $zero, __L1562
addi $sp, $sp, -16
la $s0, free_value
sw $s0, 12($sp)
la $t0, __L1564
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1564:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
li $s0, 1
sw $s0, 16($sp)
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
__L1562:
li $s0, 0
sw $s0, 16($sp)
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
.globl run_end
run_end:
addi $sp, $sp, -4
addi $s0, $sp, 0
lw $s1, 4($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
seq $s0, $s0, $zero
beq $s0, $zero, __L1565
la $s0, do_end
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
j __L1566
__L1565:
lw $s0, 0($sp)
la $s1, WHILE
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1567
la $s0, do_while
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
j __L1568
__L1567:
lw $s0, 0($sp)
la $s1, IF
lw $s1, 0($s1)
sne $s0, $s0, $s1
beq $s0, $zero, __L1569
li $s0, 1
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L1569:
__L1568:
__L1566:
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl skip_to_end
skip_to_end:
addi $sp, $sp, -12
addi $s0, $sp, 8
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, next_list
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1571
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1571:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 0($sp)
beq $s0, $zero, __L1572
addi $s0, $sp, 16
lw $s1, 0($sp)
sw $s1, 0($s0)
move $s0, $s1
__L1572:
__L1573:
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, next_list
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1576
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1576:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
beq $s0, $zero, __L1574
addi $sp, $sp, -20
addi $s0, $sp, 24
la $s1, get_list_value
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1578
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1578:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 4($sp)
beq $s0, $zero, __L1579
lw $s0, 4($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
lw $s1, 12($sp)
seq $s0, $s0, $s1
beq $s0, $zero, __L1580
addi $s0, $sp, 8
lw $s1, 8($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L1581
__L1580:
lw $s0, 4($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, END
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1583
lw $s1, 4($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
lw $s2, 12($sp)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1583:
beq $s0, $zero, __L1584
addi $s0, $sp, 8
lw $s1, 8($sp)
li $s2, 1
sub $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
__L1584:
__L1581:
lw $s0, 8($sp)
seq $s0, $s0, $zero
beq $s0, $zero, __L1585
lw $s0, 16($sp)
sw $s0, 20($sp)
addi $sp, $sp, 12
lw $ra, 12($sp)
jr $ra
__L1585:
__L1579:
addi $s0, $sp, 16
lw $s1, 0($sp)
sw $s1, 0($s0)
move $s0, $s1
j __L1573
__L1574:
lw $s0, 16($sp)
sw $s0, 20($sp)
addi $sp, $sp, 12
lw $ra, 12($sp)
jr $ra
addi $sp, $sp, 12
lw $ra, 12($sp)
jr $ra
.globl seek
seek:
addi $sp, $sp, -12
addi $s0, $sp, 8
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 36
la $s1, previous_list
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1587
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1587:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
__L1588:
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, previous_list
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1592
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1592:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
beq $s0, $zero, __L1593
lw $s1, 28($sp)
sne $s1, $s1, $zero
move $s0, $s1
__L1593:
addi $sp, $sp, 20
beq $s0, $zero, __L1589
addi $sp, $sp, -20
addi $s0, $sp, 24
la $s1, get_list_value
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1595
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1595:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 4($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, END
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1597
lw $s1, 4($sp)
li $s2, 0
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
lw $s2, 12($sp)
seq $s1, $s1, $s2
sne $s1, $s1, $zero
move $s0, $s1
__L1597:
beq $s0, $zero, __L1598
addi $s0, $sp, 8
lw $s1, 8($sp)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
j __L1599
__L1598:
lw $s0, 4($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
lw $s1, 12($sp)
seq $s0, $s0, $s1
beq $s0, $zero, __L1600
addi $s0, $sp, 8
lw $s1, 8($sp)
li $s2, 1
sub $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
__L1600:
__L1599:
lw $s0, 8($sp)
seq $s0, $s0, $zero
beq $s0, $zero, __L1601
addi $sp, $sp, -16
la $s0, previous_list
sw $s0, 12($sp)
la $t0, __L1603
sw $t0, 8($sp)
lw $t0, 32($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1603:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 20($sp)
addi $sp, $sp, 12
lw $ra, 12($sp)
jr $ra
__L1601:
addi $s0, $sp, 16
lw $s1, 0($sp)
sw $s1, 0($s0)
move $s0, $s1
j __L1588
__L1589:
li $s0, 0
sw $s0, 20($sp)
addi $sp, $sp, 12
lw $ra, 12($sp)
jr $ra
addi $sp, $sp, 12
lw $ra, 12($sp)
jr $ra
.globl seek_goto
seek_goto:
addi $sp, $sp, -8
addi $sp, $sp, -20
addi $s0, $sp, 24
la $s1, next_list
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1605
sw $t0, 8($sp)
la $t0, statement_list
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1605:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
__L1606:
lw $s0, 4($sp)
beq $s0, $zero, __L1607
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, get_list_value
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1609
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1609:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 0($sp)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
lw $s1, 8($sp)
seq $s0, $s0, $s1
beq $s0, $zero, __L1610
lw $s0, 4($sp)
sw $s0, 12($sp)
addi $sp, $sp, 8
lw $ra, 8($sp)
jr $ra
__L1610:
addi $sp, $sp, -20
addi $s0, $sp, 24
la $s1, next_list
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1612
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1612:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
j __L1606
__L1607:
li $s0, 0
sw $s0, 12($sp)
addi $sp, $sp, 8
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 8
lw $ra, 8($sp)
jr $ra
.globl run_program
run_program:
addi $sp, $sp, -4
__L1613:
lw $s0, 4($sp)
beq $s0, $zero, __L1614
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, get_list_value
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1616
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1616:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -16
la $s0, run_statement
sw $s0, 12($sp)
la $t0, __L1618
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 0
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1618:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
beq $s0, $zero, __L1619
li $s0, 1
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L1619:
la $s0, do_end
lw $s0, 0($s0)
beq $s0, $zero, __L1620
la $s0, do_end
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
j __L1621
__L1620:
la $s0, do_skip_if
lw $s0, 0($s0)
beq $s0, $zero, __L1622
addi $sp, $sp, -24
addi $s0, $sp, 28
la $s1, skip_to_end
sw $s1, 20($sp)
sw $s0, 16($sp)
la $t0, __L1624
sw $t0, 12($sp)
lw $t0, 28($sp)
sw $t0, 4($sp)
la $t0, IF
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L1624:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
lw $s1, 20($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 24
la $s0, do_skip_if
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, next_list
sw $s0, 12($sp)
la $t0, __L1626
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1626:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 16
beq $s0, $zero, __L1627
li $s0, 1
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L1627:
j __L1628
__L1622:
la $s0, do_skip_while
lw $s0, 0($s0)
beq $s0, $zero, __L1629
addi $sp, $sp, -24
addi $s0, $sp, 28
la $s1, skip_to_end
sw $s1, 20($sp)
sw $s0, 16($sp)
la $t0, __L1631
sw $t0, 12($sp)
lw $t0, 28($sp)
sw $t0, 4($sp)
la $t0, WHILE
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L1631:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
lw $s1, 20($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 24
la $s0, do_skip_while
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, next_list
sw $s0, 12($sp)
la $t0, __L1633
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1633:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
seq $s0, $s0, $zero
addi $sp, $sp, 16
beq $s0, $zero, __L1634
li $s0, 1
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L1634:
j __L1635
__L1629:
la $s0, do_while
lw $s0, 0($s0)
beq $s0, $zero, __L1636
addi $sp, $sp, -24
addi $s0, $sp, 28
la $s1, seek
sw $s1, 20($sp)
sw $s0, 16($sp)
la $t0, __L1638
sw $t0, 12($sp)
lw $t0, 28($sp)
sw $t0, 4($sp)
la $t0, WHILE
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L1638:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
lw $s1, 20($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 24
la $s0, do_while
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 4($sp)
seq $s0, $s0, $zero
beq $s0, $zero, __L1639
li $s0, 1
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L1639:
j __L1640
__L1636:
la $s0, do_goto
lw $s0, 0($s0)
beq $s0, $zero, __L1641
addi $sp, $sp, -32
addi $s0, $sp, 36
la $s1, previous_list
sw $s1, 28($sp)
sw $s0, 24($sp)
la $t0, __L1644
sw $t0, 20($sp)
la $t0, seek_goto
sw $t0, 12($sp)
la $t0, __L1645
sw $t0, 8($sp)
la $t0, goto_label
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1645:
addi $sp, $sp, 0
lw $t0, 4($sp)
sw $t0, 12($sp)
lw $t0, 28($sp)
addi $sp, $sp, 12
jr $t0
__L1644:
addi $sp, $sp, -12
lw $t0, 16($sp)
lw $s0, 24($sp)
lw $s1, 28($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 32
la $s0, do_goto
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 4($sp)
seq $s0, $s0, $zero
beq $s0, $zero, __L1646
li $s0, 1
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L1646:
j __L1647
__L1641:
la $s0, do_gosub
lw $s0, 0($s0)
beq $s0, $zero, __L1648
la $s0, current_gosub
lw $s0, 0($s0)
li $s1, 32
slt $s0, $s0, $s1
beq $s0, $zero, __L1649
la $s0, gosubs
la $s1, current_gosub
lw $s1, 0($s1)
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s1, 0($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
la $s0, current_gosub
la $s1, current_gosub
lw $s1, 0($s1)
li $s2, 1
add $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -32
addi $s0, $sp, 36
la $s1, previous_list
sw $s1, 28($sp)
sw $s0, 24($sp)
la $t0, __L1652
sw $t0, 20($sp)
la $t0, seek_goto
sw $t0, 12($sp)
la $t0, __L1653
sw $t0, 8($sp)
la $t0, goto_label
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1653:
addi $sp, $sp, 0
lw $t0, 4($sp)
sw $t0, 12($sp)
lw $t0, 28($sp)
addi $sp, $sp, 12
jr $t0
__L1652:
addi $sp, $sp, -12
lw $t0, 16($sp)
lw $s0, 24($sp)
lw $s1, 28($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 32
la $s0, do_gosub
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 4($sp)
seq $s0, $s0, $zero
beq $s0, $zero, __L1654
li $s0, 1
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L1654:
j __L1655
__L1649:
li $s0, 1
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L1655:
j __L1656
__L1648:
la $s0, do_return
lw $s0, 0($s0)
beq $s0, $zero, __L1657
la $s0, current_gosub
lw $s0, 0($s0)
beq $s0, $zero, __L1658
la $s0, current_gosub
la $s1, current_gosub
lw $s1, 0($s1)
li $s2, 1
sub $s1, $s1, $s2
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 24
la $s1, seek_goto
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1660
sw $t0, 8($sp)
la $t0, gosubs
sw $t0, 0($sp)
la $s0, current_gosub
lw $s0, 0($s0)
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1660:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
la $s0, do_return
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 4($sp)
seq $s0, $s0, $zero
beq $s0, $zero, __L1661
li $s0, 1
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L1661:
j __L1662
__L1658:
li $s0, 1
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
__L1662:
__L1657:
__L1656:
__L1647:
__L1640:
__L1635:
__L1628:
__L1621:
addi $sp, $sp, -20
addi $s0, $sp, 24
la $s1, next_list
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1664
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1664:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
j __L1613
__L1614:
li $s0, 0
sw $s0, 8($sp)
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 4
lw $ra, 8($sp)
jr $ra
.globl run_statement
run_statement:
addi $sp, $sp, 0
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, PRINT
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1665
addi $sp, $sp, -16
la $s0, run_print
sw $s0, 12($sp)
la $t0, __L1667
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1667:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L1668
__L1665:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INPUT
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1669
addi $sp, $sp, -16
la $s0, run_input
sw $s0, 12($sp)
la $t0, __L1671
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1671:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L1672
__L1669:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INPUTSTR
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1673
addi $sp, $sp, -16
la $s0, run_inputstr
sw $s0, 12($sp)
la $t0, __L1675
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1675:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L1676
__L1673:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, RUN
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1677
addi $sp, $sp, -28
la $s0, run_program
sw $s0, 24($sp)
la $t0, __L1680
sw $t0, 20($sp)
la $t0, next_list
sw $t0, 12($sp)
la $t0, __L1681
sw $t0, 8($sp)
la $t0, statement_list
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1681:
addi $sp, $sp, 0
lw $t0, 4($sp)
sw $t0, 12($sp)
lw $t0, 24($sp)
addi $sp, $sp, 12
jr $t0
__L1680:
addi $sp, $sp, -12
lw $t0, 16($sp)
lw $s0, 24($sp)
move $s0, $t0
addi $sp, $sp, 28
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L1682
__L1677:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, END
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1683
addi $sp, $sp, -16
la $s0, run_end
sw $s0, 12($sp)
la $t0, __L1685
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1685:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L1686
__L1683:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, IF
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1687
addi $sp, $sp, -16
la $s0, run_if
sw $s0, 12($sp)
la $t0, __L1689
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1689:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L1690
__L1687:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, WHILE
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1691
addi $sp, $sp, -16
la $s0, run_while
sw $s0, 12($sp)
la $t0, __L1693
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1693:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L1694
__L1691:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, LET
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1695
addi $sp, $sp, -16
la $s0, run_let
sw $s0, 12($sp)
la $t0, __L1697
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1697:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L1698
__L1695:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, DIM
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1699
addi $sp, $sp, -16
la $s0, run_dim
sw $s0, 12($sp)
la $t0, __L1701
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1701:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L1702
__L1699:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, GOTO
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1703
addi $sp, $sp, -16
la $s0, run_goto
sw $s0, 12($sp)
la $t0, __L1705
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1705:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L1706
__L1703:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, GOSUB
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1707
addi $sp, $sp, -16
la $s0, run_gosub
sw $s0, 12($sp)
la $t0, __L1709
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1709:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L1710
__L1707:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, RETURN
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1711
addi $sp, $sp, -16
la $s0, run_return
sw $s0, 12($sp)
la $t0, __L1713
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1713:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L1714
__L1711:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, LIST
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1715
addi $sp, $sp, -16
la $s0, run_list
sw $s0, 12($sp)
la $t0, __L1717
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1717:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
j __L1718
__L1715:
li $s0, 1
sw $s0, 4($sp)
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
__L1718:
__L1714:
__L1710:
__L1706:
__L1702:
__L1698:
__L1694:
__L1690:
__L1686:
__L1682:
__L1676:
__L1672:
__L1668:
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl list_statement
list_statement:
addi $sp, $sp, 0
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, PRINT
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1719
addi $sp, $sp, -16
la $s0, list_print
sw $s0, 12($sp)
la $t0, __L1721
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1721:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L1722
__L1719:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INPUT
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1723
addi $sp, $sp, -16
la $s0, list_input
sw $s0, 12($sp)
la $t0, __L1725
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1725:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L1726
__L1723:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, INPUTSTR
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1727
addi $sp, $sp, -16
la $s0, list_inputstr
sw $s0, 12($sp)
la $t0, __L1729
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1729:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L1730
__L1727:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, RUN
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1731
addi $sp, $sp, -28
la $s0, list_run
sw $s0, 24($sp)
la $t0, __L1734
sw $t0, 20($sp)
la $t0, next_list
sw $t0, 12($sp)
la $t0, __L1735
sw $t0, 8($sp)
la $t0, statement_list
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1735:
addi $sp, $sp, 0
lw $t0, 4($sp)
sw $t0, 12($sp)
lw $t0, 24($sp)
addi $sp, $sp, 12
jr $t0
__L1734:
addi $sp, $sp, -12
lw $t0, 16($sp)
lw $s0, 24($sp)
move $s0, $t0
addi $sp, $sp, 28
j __L1736
__L1731:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, END
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1737
addi $sp, $sp, -16
la $s0, list_end
sw $s0, 12($sp)
la $t0, __L1739
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1739:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L1740
__L1737:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, IF
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1741
addi $sp, $sp, -16
la $s0, list_if
sw $s0, 12($sp)
la $t0, __L1743
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1743:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L1744
__L1741:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, WHILE
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1745
addi $sp, $sp, -16
la $s0, list_while
sw $s0, 12($sp)
la $t0, __L1747
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1747:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L1748
__L1745:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, LET
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1749
addi $sp, $sp, -16
la $s0, list_let
sw $s0, 12($sp)
la $t0, __L1751
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1751:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L1752
__L1749:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, DIM
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1753
addi $sp, $sp, -16
la $s0, list_dim
sw $s0, 12($sp)
la $t0, __L1755
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1755:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L1756
__L1753:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, GOTO
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1757
addi $sp, $sp, -16
la $s0, list_goto
sw $s0, 12($sp)
la $t0, __L1759
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1759:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L1760
__L1757:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, GOSUB
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1761
addi $sp, $sp, -16
la $s0, list_gosub
sw $s0, 12($sp)
la $t0, __L1763
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1763:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L1764
__L1761:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, RETURN
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1765
addi $sp, $sp, -16
la $s0, list_return
sw $s0, 12($sp)
la $t0, __L1767
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1767:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L1768
__L1765:
lw $s0, 0($sp)
li $s1, 0
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
la $s1, LIST
lw $s1, 0($s1)
seq $s0, $s0, $s1
beq $s0, $zero, __L1769
addi $sp, $sp, -16
la $s0, list_list
sw $s0, 12($sp)
la $t0, __L1771
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1771:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L1769:
__L1768:
__L1764:
__L1760:
__L1756:
__L1752:
__L1748:
__L1744:
__L1740:
__L1736:
__L1730:
__L1726:
__L1722:
addi $sp, $sp, 0
lw $ra, 8($sp)
jr $ra
.globl remove_line
remove_line:
addi $sp, $sp, -8
addi $sp, $sp, -20
addi $s0, $sp, 24
la $s1, next_list
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1773
sw $t0, 8($sp)
la $t0, statement_list
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1773:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
__L1774:
lw $s0, 4($sp)
beq $s0, $zero, __L1775
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, get_list_value
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1777
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1777:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 0($sp)
li $s1, 1
sll $s1, $s1, 2
add $s0, $s0, $s1
lw $s0, 0($s0)
lw $s1, 8($sp)
seq $s0, $s0, $s1
beq $s0, $zero, __L1778
addi $sp, $sp, -16
la $s0, free_statement
sw $s0, 12($sp)
la $t0, __L1780
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
li $s0, 0
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1780:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -20
la $s0, remove_value
sw $s0, 16($sp)
la $t0, __L1782
sw $t0, 12($sp)
lw $t0, 24($sp)
sw $t0, 4($sp)
la $t0, kfree
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1782:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
addi $sp, $sp, 8
lw $ra, 8($sp)
jr $ra
__L1778:
addi $sp, $sp, -20
addi $s0, $sp, 24
la $s1, next_list
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1784
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1784:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
j __L1774
__L1775:
addi $sp, $sp, 8
lw $ra, 8($sp)
jr $ra
.globl run_list
run_list:
addi $sp, $sp, -12
addi $sp, $sp, -20
addi $s0, $sp, 28
la $s1, next_list
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1786
sw $t0, 8($sp)
la $t0, statement_list
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1786:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
__L1787:
lw $s0, 8($sp)
beq $s0, $zero, __L1788
addi $sp, $sp, -20
addi $s0, $sp, 24
la $s1, get_list_value
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1790
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1790:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
lw $s1, 4($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, printd
sw $s0, 12($sp)
la $t0, __L1792
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1792:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L1794
sw $t0, 8($sp)
la $t0, __str85
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1794:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, list_statement
sw $s0, 12($sp)
la $t0, __L1796
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
li $s0, 0
sll $s0, $s0, 2
lw $t0, 0($sp)
add $t0, $t0, $s0
lw $t0, 0($t0)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1796:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L1798
sw $t0, 8($sp)
la $t0, __str86
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1798:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -20
addi $s0, $sp, 28
la $s1, next_list
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1800
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1800:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
j __L1787
__L1788:
li $s0, 0
sw $s0, 16($sp)
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
addi $sp, $sp, 12
lw $ra, 8($sp)
jr $ra
.globl insert_statement
insert_statement:
addi $sp, $sp, -24
addi $sp, $sp, -24
addi $s0, $sp, 32
la $s1, create_statement_entry
sw $s1, 20($sp)
sw $s0, 16($sp)
la $t0, __L1802
sw $t0, 12($sp)
lw $t0, 52($sp)
sw $t0, 4($sp)
lw $t0, 48($sp)
sw $t0, 0($sp)
lw $t0, 20($sp)
addi $sp, $sp, 0
jr $t0
__L1802:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
lw $s1, 20($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 24
addi $s0, $sp, 4
la $s1, statement_list
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 36
la $s1, next_list
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1804
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1804:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
__L1805:
lw $s0, 16($sp)
beq $s0, $zero, __L1806
addi $sp, $sp, -20
addi $s0, $sp, 32
la $s1, get_list_value
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1808
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1808:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $s0, $sp, 0
lw $s1, 12($sp)
li $s2, 1
sll $s2, $s2, 2
add $s1, $s1, $s2
lw $s1, 0($s1)
sw $s1, 0($s0)
move $s0, $s1
lw $s0, 0($sp)
lw $s1, 24($sp)
sgt $s0, $s0, $s1
beq $s0, $zero, __L1809
addi $sp, $sp, -20
la $s0, add_value
sw $s0, 16($sp)
la $t0, __L1811
sw $t0, 12($sp)
lw $t0, 24($sp)
sw $t0, 4($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1811:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
addi $sp, $sp, 24
lw $ra, 12($sp)
jr $ra
j __L1812
__L1809:
lw $s0, 0($sp)
lw $s1, 24($sp)
seq $s0, $s0, $s1
beq $s0, $zero, __L1813
addi $sp, $sp, -20
la $s0, remove_value
sw $s0, 16($sp)
la $t0, __L1815
sw $t0, 12($sp)
lw $t0, 36($sp)
sw $t0, 4($sp)
la $t0, free_statement_entry
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1815:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
addi $sp, $sp, -20
la $s0, add_value
sw $s0, 16($sp)
la $t0, __L1817
sw $t0, 12($sp)
lw $t0, 24($sp)
sw $t0, 4($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1817:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
addi $sp, $sp, 24
lw $ra, 12($sp)
jr $ra
__L1813:
__L1812:
addi $s0, $sp, 4
lw $s1, 16($sp)
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -20
addi $s0, $sp, 36
la $s1, next_list
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1819
sw $t0, 8($sp)
lw $t0, 36($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1819:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
j __L1805
__L1806:
addi $sp, $sp, -20
la $s0, add_value
sw $s0, 16($sp)
la $t0, __L1821
sw $t0, 12($sp)
lw $t0, 24($sp)
sw $t0, 4($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1821:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
addi $sp, $sp, 24
lw $ra, 12($sp)
jr $ra
.globl add_statement
add_statement:
addi $sp, $sp, -8
addi $sp, $sp, -20
addi $s0, $sp, 24
la $s1, get_int
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1823
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1823:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L1825
sw $t0, 8($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1825:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
lw $s0, 8($sp)
lw $s0, 0($s0)
lb $s0, 0($s0)
seq $s0, $s0, $zero
beq $s0, $zero, __L1826
addi $sp, $sp, -16
la $s0, remove_line
sw $s0, 12($sp)
la $t0, __L1828
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1828:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, 8
lw $ra, 8($sp)
jr $ra
__L1826:
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, get_statement
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1830
sw $t0, 8($sp)
lw $t0, 28($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1830:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 0($sp)
beq $s0, $zero, __L1831
addi $sp, $sp, -20
la $s0, insert_statement
sw $s0, 16($sp)
la $t0, __L1833
sw $t0, 12($sp)
lw $t0, 20($sp)
sw $t0, 4($sp)
lw $t0, 24($sp)
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1833:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
j __L1834
__L1831:
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L1836
sw $t0, 8($sp)
la $t0, __str87
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1836:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L1834:
addi $sp, $sp, 8
lw $ra, 8($sp)
jr $ra
.globl entry
entry:
addi $sp, $sp, -264
la $s0, ERR_VAL
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
la $s0, INT_VAL
li $s1, 1
sw $s1, 0($s0)
move $s0, $s1
la $s0, STR_VAL
li $s1, 2
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -28
la $s0, kmalloc_init
sw $s0, 24($sp)
la $t0, __L1839
sw $t0, 20($sp)
la $t0, malloc
sw $t0, 12($sp)
la $t0, __L1840
sw $t0, 8($sp)
li $t0, 32000
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1840:
addi $sp, $sp, 0
lw $t0, 4($sp)
sw $t0, 12($sp)
li $t0, 32000
sw $t0, 8($sp)
lw $t0, 24($sp)
addi $sp, $sp, 8
jr $t0
__L1839:
addi $sp, $sp, -8
lw $t0, 16($sp)
lw $s0, 24($sp)
move $s0, $t0
addi $sp, $sp, 28
addi $sp, $sp, -20
la $s0, variables
la $s1, create_dictionary
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1842
sw $t0, 8($sp)
li $t0, 0
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1842:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -20
la $s0, statement_list
la $s1, create_linked_list
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1844
sw $t0, 8($sp)
la $t0, ERR_VAL
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1844:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
addi $sp, $sp, -12
la $s0, init_tokens
sw $s0, 8($sp)
la $t0, __L1846
sw $t0, 4($sp)
lw $t0, 8($sp)
addi $sp, $sp, 0
jr $t0
__L1846:
addi $sp, $sp, 0
lw $t0, 0($sp)
lw $s0, 8($sp)
move $s0, $t0
addi $sp, $sp, 12
la $s0, do_end
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
la $s0, do_if
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
la $s0, do_while
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
la $s0, do_skip_if
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
la $s0, do_skip_while
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
la $s0, do_goto
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
la $s0, do_gosub
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
la $s0, do_return
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
la $s0, current_gosub
li $s1, 0
sw $s1, 0($s0)
move $s0, $s1
__L1847:
li $s0, 1
beq $s0, $zero, __L1848
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L1850
sw $t0, 8($sp)
la $t0, __str88
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1850:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -20
la $s0, inputs
sw $s0, 16($sp)
la $t0, __L1852
sw $t0, 12($sp)
addi $t0, $sp, 28
sw $t0, 4($sp)
li $t0, 256
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1852:
addi $sp, $sp, 0
lw $t0, 8($sp)
lw $s0, 16($sp)
move $s0, $t0
addi $sp, $sp, 20
addi $s0, $sp, 4
addi $s1, $sp, 8
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, -16
la $s0, skip_whitespace
sw $s0, 12($sp)
la $t0, __L1854
sw $t0, 8($sp)
addi $t0, $sp, 20
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1854:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
addi $sp, $sp, -16
la $s0, digit
sw $s0, 12($sp)
la $t0, __L1856
sw $t0, 8($sp)
lw $t0, 20($sp)
sw $t0, 0($sp)
lw $t0, 0($sp)
lb $t0, 0($t0)
sb $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1856:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
beq $s0, $zero, __L1857
addi $sp, $sp, -16
la $s0, add_statement
sw $s0, 12($sp)
la $t0, __L1859
sw $t0, 8($sp)
addi $t0, $sp, 20
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1859:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L1860
__L1857:
addi $sp, $sp, -20
addi $s0, $sp, 20
la $s1, get_statement
sw $s1, 16($sp)
sw $s0, 12($sp)
la $t0, __L1862
sw $t0, 8($sp)
addi $t0, $sp, 24
sw $t0, 0($sp)
lw $t0, 16($sp)
addi $sp, $sp, 0
jr $t0
__L1862:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
lw $s1, 16($sp)
move $s1, $t0
sw $s1, 0($s0)
move $s0, $s1
addi $sp, $sp, 20
lw $s0, 0($sp)
seq $s0, $s0, $zero
beq $s0, $zero, __L1863
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L1865
sw $t0, 8($sp)
la $t0, __str89
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1865:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
j __L1866
__L1863:
addi $sp, $sp, -16
la $s0, run_statement
sw $s0, 12($sp)
la $t0, __L1868
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1868:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
beq $s0, $zero, __L1869
addi $sp, $sp, -16
la $s0, prints
sw $s0, 12($sp)
la $t0, __L1871
sw $t0, 8($sp)
la $t0, __str90
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1871:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L1869:
addi $sp, $sp, -16
la $s0, free_statement
sw $s0, 12($sp)
la $t0, __L1873
sw $t0, 8($sp)
lw $t0, 16($sp)
sw $t0, 0($sp)
lw $t0, 12($sp)
addi $sp, $sp, 0
jr $t0
__L1873:
addi $sp, $sp, 0
lw $t0, 4($sp)
lw $s0, 12($sp)
move $s0, $t0
addi $sp, $sp, 16
__L1866:
__L1860:
j __L1847
__L1848:
addi $sp, $sp, 264
lw $ra, 4($sp)
jr $ra