// File: martinda3[P]Compiler/src/TCparser.cpp
// Function: toyc::TCparser::RelopExpression()
ASexpression* TCparser::RelopExpression() // WIP
	{
		// RelopExpression --> SimpleExpression { RELOP SimpleExpression }
		enteringDEBUG("Relop Expression");
		ASexpression* operand = NULL;
		ASexpression* operand2 = NULL;
		ASoperator* operand3 = NULL;
		operand = SimpleExpression();
		while (buff->getTokenType() == RELOP)
		{
			enteringDEBUG("Relop Expression Additional");
			operand3 = new ASoperator(accept(RELOP));
			operand2 = SimpleExpression();
			operand = new ASexpr(operand3, operand2, operand);
			exitingDEBUG("RelopExpression Additional");
		}
		exitingDEBUG("Relop Expression");
		return operand;
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x110, %rsp            # imm = 0x110
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xe0(%rbp)
leaq -0x29(%rbp), %rdi
movq %rdi, -0xd8(%rbp)
callq 0x95c0
movq -0xd8(%rbp), %rdx
leaq 0x215f1(%rip), %rsi     # 0x333a9
leaq -0x28(%rbp), %rdi
callq 0x13550
jmp 0x11dc3
leaq -0x28(%rbp), %rdi
callq 0xd790
jmp 0x11dce
leaq -0x28(%rbp), %rdi
callq 0x9658
leaq -0x29(%rbp), %rdi
callq 0x93b0
movq -0xe0(%rbp), %rdi
movq $0x0, -0x48(%rbp)
movq $0x0, -0x50(%rbp)
movq $0x0, -0x58(%rbp)
callq 0x120d0
movq %rax, -0x48(%rbp)
movq -0xe0(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x1be60
cmpl $0x12, %eax
jne 0x1202e
leaq -0x79(%rbp), %rdi
movq %rdi, -0xe8(%rbp)
callq 0x95c0
movq -0xe8(%rbp), %rdx
leaq 0x2157b(%rip), %rsi     # 0x333ba
leaq -0x78(%rbp), %rdi
callq 0x13550
jmp 0x11e4a
leaq -0x78(%rbp), %rdi
callq 0xd790
jmp 0x11e55
leaq -0x78(%rbp), %rdi
callq 0x9658
leaq -0x79(%rbp), %rdi
callq 0x93b0
movl $0x10, %edi
callq 0x9350
movq -0xe0(%rbp), %rdi
movq %rax, -0xf8(%rbp)
movl $0x12, %esi
callq 0xe670
movq %rax, -0xf0(%rbp)
jmp 0x11e92
movq -0xf0(%rbp), %rsi
movq -0xf8(%rbp), %rdi
callq 0x1eb20
jmp 0x11ea7
movq -0xe0(%rbp), %rdi
movq -0xf8(%rbp), %rax
movq %rax, -0x58(%rbp)
callq 0x120d0
movq %rax, -0x50(%rbp)
movl $0x48, %edi
callq 0x9350
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x100(%rbp)
movq -0x58(%rbp), %rsi
movq -0x50(%rbp), %rdx
movq -0x48(%rbp), %rcx
callq 0x2d6e0
jmp 0x11eec
movq -0x100(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq -0xa1(%rbp), %rdi
movq %rdi, -0x108(%rbp)
callq 0x95c0
movq -0x108(%rbp), %rdx
leaq 0x214be(%rip), %rsi     # 0x333d6
leaq -0xa0(%rbp), %rdi
callq 0x13550
jmp 0x11f26
leaq -0xa0(%rbp), %rdi
callq 0xda50
jmp 0x11f34
leaq -0xa0(%rbp), %rdi
callq 0x9658
leaq -0xa1(%rbp), %rdi
callq 0x93b0
jmp 0x11e08
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x11f74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x9658
leaq -0x29(%rbp), %rdi
callq 0x93b0
jmp 0x120c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x11fa5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x9658
leaq -0x79(%rbp), %rdi
callq 0x93b0
jmp 0x120c2
movq -0xf8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
movl $0x10, %esi
callq 0x9360
jmp 0x120c2
movq -0x100(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
movl $0x48, %esi
callq 0x9360
jmp 0x120c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1201d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x9658
leaq -0xa1(%rbp), %rdi
callq 0x93b0
jmp 0x120c2
leaq -0xc9(%rbp), %rdi
movq %rdi, -0x110(%rbp)
callq 0x95c0
movq -0x110(%rbp), %rdx
leaq 0x2135a(%rip), %rsi     # 0x333a9
leaq -0xc8(%rbp), %rdi
callq 0x13550
jmp 0x1205d
leaq -0xc8(%rbp), %rdi
callq 0xda50
jmp 0x1206b
leaq -0xc8(%rbp), %rdi
callq 0x9658
leaq -0xc9(%rbp), %rdi
callq 0x93b0
movq -0x48(%rbp), %rax
addq $0x110, %rsp            # imm = 0x110
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x120b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x9658
leaq -0xc9(%rbp), %rdi
callq 0x93b0
movq -0x38(%rbp), %rdi
callq 0x95b0
nopl (%rax,%rax)