// File: martinda3[P]Compiler/src/TCsymTable.cpp
// Function: toyc::TCsymTable::toString[abi:cxx11]()
std::string TCsymTable::toString() {
        std::string str = "[";
        for (int i = 0; i < size; i++) {
            if (i == 0) str += "\n";
            str += "  ";
            if (symTable[i]->getType() == VAR || symTable[i]->getType() == OFFSET) { str += "  ";}
            str += (symTable[i]->getId() + ", ");
            str += (symTable[i]->getType() == VAR ? "VAR = " + symTable[i]->getValue() +
                    " | offset: " + std::to_string(symTable[i]->getOffset()):
                    symTable[i]->getType() == OFFSET ? "OFFSET " :
                    symTable[i]->getType() == FUNC ? "FUNC" :
                    symTable[i]->getType() == NO_TYPE ? "NO_TYPE" : "ERROR");
            str += "\n";
        }
        return (str + "]\n");
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1a0, %rsp            # imm = 0x1A0
movq %rdi, -0x158(%rbp)
movq %rdi, %rax
movq %rax, -0x150(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x148(%rbp)
leaq -0x31(%rbp), %rdi
movq %rdi, -0x140(%rbp)
callq 0x95c0
movq -0x140(%rbp), %rdx
leaq 0x1e6c(%rip), %rsi      # 0x33989
leaq -0x30(%rbp), %rdi
callq 0x13550
jmp 0x31b28
leaq -0x31(%rbp), %rdi
callq 0x93b0
movl $0x0, -0x48(%rbp)
movq -0x148(%rbp), %rcx
movl -0x48(%rbp), %eax
cmpl 0x320(%rcx), %eax
jge 0x3203c
cmpl $0x0, -0x48(%rbp)
jne 0x31b93
leaq 0x248f(%rip), %rsi      # 0x33fea
leaq -0x30(%rbp), %rdi
callq 0x9330
jmp 0x31b66
jmp 0x31b93
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x31(%rbp), %rdi
callq 0x93b0
jmp 0x32077
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x3206e
leaq 0x15b8(%rip), %rsi      # 0x33152
leaq -0x30(%rbp), %rdi
callq 0x9330
jmp 0x31ba5
movq -0x148(%rbp), %rax
movslq -0x48(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x1fef0
movl %eax, -0x15c(%rbp)
jmp 0x31bc1
movl -0x15c(%rbp), %eax
cmpl $0x0, %eax
je 0x31bf3
movq -0x148(%rbp), %rax
movslq -0x48(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x1fef0
movl %eax, -0x160(%rbp)
jmp 0x31be8
movl -0x160(%rbp), %eax
cmpl $0x2, %eax
jne 0x31c07
leaq 0x1558(%rip), %rsi      # 0x33152
leaq -0x30(%rbp), %rdi
callq 0x9330
jmp 0x31c05
jmp 0x31c07
movq -0x148(%rbp), %rax
movslq -0x48(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
leaq -0x88(%rbp), %rdi
callq 0x1fea0
jmp 0x31c24
leaq 0x221a(%rip), %rdx      # 0x33e45
leaq -0x68(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0xcc00
jmp 0x31c3d
leaq -0x30(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x9450
jmp 0x31c4c
leaq -0x68(%rbp), %rdi
callq 0x9658
leaq -0x88(%rbp), %rdi
callq 0x9658
movq -0x148(%rbp), %rax
movslq -0x48(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movb $0x0, -0x109(%rbp)
movb $0x0, -0x10a(%rbp)
movb $0x0, -0x10b(%rbp)
movb $0x0, -0x131(%rbp)
movb $0x0, -0x133(%rbp)
callq 0x1fef0
movl %eax, -0x164(%rbp)
jmp 0x31ca0
movl -0x164(%rbp), %eax
cmpl $0x0, %eax
jne 0x31d71
movq -0x148(%rbp), %rax
movslq -0x48(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
leaq -0x108(%rbp), %rdi
callq 0x1ff70
jmp 0x31ccc
movb $0x1, -0x109(%rbp)
leaq 0x32d5(%rip), %rsi      # 0x34faf
leaq -0xe8(%rbp), %rdi
leaq -0x108(%rbp), %rdx
callq 0x14400
jmp 0x31cef
movb $0x1, -0x10a(%rbp)
leaq 0x32b9(%rip), %rdx      # 0x34fb6
leaq -0xc8(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
callq 0xcc00
jmp 0x31d12
movq -0x148(%rbp), %rax
movb $0x1, -0x10b(%rbp)
movslq -0x48(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x1ff50
movl %eax, -0x168(%rbp)
jmp 0x31d35
movl -0x168(%rbp), %esi
leaq -0x130(%rbp), %rdi
callq 0x1ac00
jmp 0x31d49
movb $0x1, -0x131(%rbp)
leaq -0xa8(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
leaq -0x130(%rbp), %rdx
callq 0xd410
jmp 0x31d6c
jmp 0x31e74
movq -0x148(%rbp), %rax
movslq -0x48(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x1fef0
movl %eax, -0x16c(%rbp)
jmp 0x31d8d
movl -0x16c(%rbp), %eax
cmpl $0x2, %eax
jne 0x31dab
leaq 0x3223(%rip), %rax      # 0x34fc2
movq %rax, -0x178(%rbp)
jmp 0x31e2e
movq -0x148(%rbp), %rax
movslq -0x48(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x1fef0
movl %eax, -0x17c(%rbp)
jmp 0x31dc7
movl -0x17c(%rbp), %eax
cmpl $0x1, %eax
jne 0x31de2
leaq 0x31f1(%rip), %rax      # 0x34fca
movq %rax, -0x188(%rbp)
jmp 0x31e20
movq -0x148(%rbp), %rax
movslq -0x48(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x1fef0
movl %eax, -0x18c(%rbp)
jmp 0x31dfe
movl -0x18c(%rbp), %edx
leaq 0x31cc(%rip), %rax      # 0x34fd7
leaq 0x31bd(%rip), %rcx      # 0x34fcf
cmpl $0x3, %edx
cmoveq %rcx, %rax
movq %rax, -0x188(%rbp)
movq -0x188(%rbp), %rax
movq %rax, -0x178(%rbp)
movq -0x178(%rbp), %rax
movq %rax, -0x1a0(%rbp)
leaq -0x132(%rbp), %rdi
movq %rdi, -0x198(%rbp)
callq 0x95c0
movq -0x1a0(%rbp), %rsi
movq -0x198(%rbp), %rdx
movb $0x1, -0x133(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x13550
jmp 0x31e72
jmp 0x31e74
leaq -0x30(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x9450
jmp 0x31e86
leaq -0xa8(%rbp), %rdi
callq 0x9658
testb $0x1, -0x133(%rbp)
jne 0x31e9d
jmp 0x31ea9
leaq -0x132(%rbp), %rdi
callq 0x93b0
testb $0x1, -0x131(%rbp)
jne 0x31eb4
jmp 0x31ec0
leaq -0x130(%rbp), %rdi
callq 0x9658
testb $0x1, -0x10b(%rbp)
jne 0x31ecb
jmp 0x31ed7
leaq -0xc8(%rbp), %rdi
callq 0x9658
testb $0x1, -0x10a(%rbp)
jne 0x31ee2
jmp 0x31eee
leaq -0xe8(%rbp), %rdi
callq 0x9658
testb $0x1, -0x109(%rbp)
jne 0x31ef9
jmp 0x31f05
leaq -0x108(%rbp), %rdi
callq 0x9658
leaq 0x20de(%rip), %rsi      # 0x33fea
leaq -0x30(%rbp), %rdi
callq 0x9330
jmp 0x31f17
jmp 0x31f19
movl -0x48(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x48(%rbp)
jmp 0x31b38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x31f4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x9658
leaq -0x88(%rbp), %rdi
callq 0x9658
jmp 0x3206e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x32023
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x3200a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x31ff1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x31fd8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x31fbf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x9658
testb $0x1, -0x133(%rbp)
jne 0x31fca
jmp 0x31fd6
leaq -0x132(%rbp), %rdi
callq 0x93b0
jmp 0x31fd8
testb $0x1, -0x131(%rbp)
jne 0x31fe3
jmp 0x31fef
leaq -0x130(%rbp), %rdi
callq 0x9658
jmp 0x31ff1
testb $0x1, -0x10b(%rbp)
jne 0x31ffc
jmp 0x32008
leaq -0xc8(%rbp), %rdi
callq 0x9658
jmp 0x3200a
testb $0x1, -0x10a(%rbp)
jne 0x32015
jmp 0x32021
leaq -0xe8(%rbp), %rdi
callq 0x9658
jmp 0x32023
testb $0x1, -0x109(%rbp)
jne 0x3202e
jmp 0x3203a
leaq -0x108(%rbp), %rdi
callq 0x9658
jmp 0x3206e
movq -0x158(%rbp), %rdi
leaq 0x2c7d(%rip), %rdx      # 0x34cc7
leaq -0x30(%rbp), %rsi
callq 0x1ad70
jmp 0x32055
leaq -0x30(%rbp), %rdi
callq 0x9658
movq -0x150(%rbp), %rax
addq $0x1a0, %rsp            # imm = 0x1A0
popq %rbp
retq
leaq -0x30(%rbp), %rdi
callq 0x9658
movq -0x40(%rbp), %rdi
callq 0x95b0