// File: martinda3[P]Compiler/src/ASsimpleExpr.cpp
// Function: toyc::ASsimpleExpr::toString[abi:cxx11]()
std::string ASsimpleExpr::toString()
	{
		std::string str = "";
		switch (expr->getTokenType())
		{
			case NUMBER:
				str += (spaces() + "number(" + expr->getLexeme() + ")");
				break;
			case ID:
				str += (spaces() + symTable->getSym(expr)->toString());
				break;
			case CHARLITERAL:
				str += (spaces() + "charliteral(" + expr->getLexeme() + ")");
				break;
			case STRING:
				str += (spaces() + "string(" + expr->getLexeme() + ")");
				break;
			default:
				str += "error";
				break;
		}
		return str;
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2a0, %rsp            # imm = 0x2A0
movq %rdi, -0x278(%rbp)
movq %rdi, %rax
movq %rax, -0x288(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x280(%rbp)
movb $0x0, -0x11(%rbp)
leaq -0x12(%rbp), %rdi
movq %rdi, -0x270(%rbp)
callq 0x95c0
movq -0x278(%rbp), %rdi
movq -0x270(%rbp), %rdx
leaq 0x1675c(%rip), %rsi     # 0x346f4
callq 0x13550
jmp 0x1df9f
leaq -0x12(%rbp), %rdi
callq 0x93b0
movq -0x280(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x1be60
movl %eax, -0x28c(%rbp)
jmp 0x1dfc0
movl -0x28c(%rbp), %eax
addl $-0x10, %eax
movl %eax, %ecx
movq %rcx, -0x298(%rbp)
subl $0xa, %eax
ja 0x1e4f5
movq -0x298(%rbp), %rax
leaq 0x15cdb(%rip), %rcx     # 0x33cc4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x12(%rbp), %rdi
callq 0x93b0
jmp 0x1e53e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x1e532
leaq -0xa8(%rbp), %rdi
callq 0x1bce0
jmp 0x1e02b
leaq 0x15cd4(%rip), %rdx     # 0x33d06
leaq -0x88(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0xcc00
jmp 0x1e047
movq -0x280(%rbp), %rax
movq 0x10(%rax), %rsi
leaq -0xc8(%rbp), %rdi
callq 0x1be70
jmp 0x1e060
leaq -0x68(%rbp), %rdi
leaq -0x88(%rbp), %rsi
leaq -0xc8(%rbp), %rdx
callq 0xd410
jmp 0x1e079
leaq 0x15e2e(%rip), %rdx     # 0x33eae
leaq -0x48(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0xcc00
jmp 0x1e08f
movq -0x278(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9450
jmp 0x1e0a1
leaq -0x48(%rbp), %rdi
callq 0x9658
leaq -0x68(%rbp), %rdi
callq 0x9658
leaq -0xc8(%rbp), %rdi
callq 0x9658
leaq -0x88(%rbp), %rdi
callq 0x9658
leaq -0xa8(%rbp), %rdi
callq 0x9658
jmp 0x1e50c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x1e14a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x1e13e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x1e132
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x1e129
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x9658
leaq -0x68(%rbp), %rdi
callq 0x9658
leaq -0xc8(%rbp), %rdi
callq 0x9658
leaq -0x88(%rbp), %rdi
callq 0x9658
leaq -0xa8(%rbp), %rdi
callq 0x9658
jmp 0x1e532
leaq -0x108(%rbp), %rdi
callq 0x1bce0
jmp 0x1e169
movq -0x280(%rbp), %rax
leaq 0x274e9(%rip), %rcx     # 0x45660
movq (%rcx), %rdi
movq 0x10(%rax), %rsi
callq 0x31970
movq %rax, -0x2a0(%rbp)
jmp 0x1e18c
movq -0x2a0(%rbp), %rsi
leaq -0x128(%rbp), %rdi
callq 0x20010
jmp 0x1e1a1
leaq -0xe8(%rbp), %rdi
leaq -0x108(%rbp), %rsi
leaq -0x128(%rbp), %rdx
callq 0xd410
jmp 0x1e1bd
movq -0x278(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
callq 0x9450
jmp 0x1e1d2
leaq -0xe8(%rbp), %rdi
callq 0x9658
leaq -0x128(%rbp), %rdi
callq 0x9658
leaq -0x108(%rbp), %rdi
callq 0x9658
jmp 0x1e50c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x1e23b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x1e22f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0x9658
leaq -0x128(%rbp), %rdi
callq 0x9658
leaq -0x108(%rbp), %rdi
callq 0x9658
jmp 0x1e532
leaq -0x1a8(%rbp), %rdi
callq 0x1bce0
jmp 0x1e25a
leaq 0x15aad(%rip), %rdx     # 0x33d0e
leaq -0x188(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
callq 0xcc00
jmp 0x1e276
movq -0x280(%rbp), %rax
movq 0x10(%rax), %rsi
leaq -0x1c8(%rbp), %rdi
callq 0x1be70
jmp 0x1e28f
leaq -0x168(%rbp), %rdi
leaq -0x188(%rbp), %rsi
leaq -0x1c8(%rbp), %rdx
callq 0xd410
jmp 0x1e2ab
leaq 0x15bfc(%rip), %rdx     # 0x33eae
leaq -0x148(%rbp), %rdi
leaq -0x168(%rbp), %rsi
callq 0xcc00
jmp 0x1e2c7
movq -0x278(%rbp), %rdi
leaq -0x148(%rbp), %rsi
callq 0x9450
jmp 0x1e2dc
leaq -0x148(%rbp), %rdi
callq 0x9658
leaq -0x168(%rbp), %rdi
callq 0x9658
leaq -0x1c8(%rbp), %rdi
callq 0x9658
leaq -0x188(%rbp), %rdi
callq 0x9658
leaq -0x1a8(%rbp), %rdi
callq 0x9658
jmp 0x1e50c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x1e391
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x1e385
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x1e379
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x1e36d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x148(%rbp), %rdi
callq 0x9658
leaq -0x168(%rbp), %rdi
callq 0x9658
leaq -0x1c8(%rbp), %rdi
callq 0x9658
leaq -0x188(%rbp), %rdi
callq 0x9658
leaq -0x1a8(%rbp), %rdi
callq 0x9658
jmp 0x1e532
leaq -0x248(%rbp), %rdi
callq 0x1bce0
jmp 0x1e3b0
leaq 0x15964(%rip), %rdx     # 0x33d1b
leaq -0x228(%rbp), %rdi
leaq -0x248(%rbp), %rsi
callq 0xcc00
jmp 0x1e3cc
movq -0x280(%rbp), %rax
movq 0x10(%rax), %rsi
leaq -0x268(%rbp), %rdi
callq 0x1be70
jmp 0x1e3e5
leaq -0x208(%rbp), %rdi
leaq -0x228(%rbp), %rsi
leaq -0x268(%rbp), %rdx
callq 0xd410
jmp 0x1e401
leaq 0x15aa6(%rip), %rdx     # 0x33eae
leaq -0x1e8(%rbp), %rdi
leaq -0x208(%rbp), %rsi
callq 0xcc00
jmp 0x1e41d
movq -0x278(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
callq 0x9450
jmp 0x1e432
leaq -0x1e8(%rbp), %rdi
callq 0x9658
leaq -0x208(%rbp), %rdi
callq 0x9658
leaq -0x268(%rbp), %rdi
callq 0x9658
leaq -0x228(%rbp), %rdi
callq 0x9658
leaq -0x248(%rbp), %rdi
callq 0x9658
jmp 0x1e50c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x1e4e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x1e4db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x1e4cf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x1e4c3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x1e8(%rbp), %rdi
callq 0x9658
leaq -0x208(%rbp), %rdi
callq 0x9658
leaq -0x268(%rbp), %rdi
callq 0x9658
leaq -0x228(%rbp), %rdi
callq 0x9658
leaq -0x248(%rbp), %rdi
callq 0x9658
jmp 0x1e532
movq -0x278(%rbp), %rdi
leaq 0x162e8(%rip), %rsi     # 0x347eb
callq 0x9330
jmp 0x1e50a
jmp 0x1e50c
movb $0x1, -0x11(%rbp)
testb $0x1, -0x11(%rbp)
jne 0x1e522
movq -0x278(%rbp), %rdi
callq 0x9658
movq -0x288(%rbp), %rax
addq $0x2a0, %rsp            # imm = 0x2A0
popq %rbp
retq
movq -0x278(%rbp), %rdi
callq 0x9658
movq -0x20(%rbp), %rdi
callq 0x95b0
nopw (%rax,%rax)