// File: /workspace/github_cpp_makefile_star2_O1/sighingnow[P]compile-pascal/pl0_parser.cpp
// Function: pl0_comp_op_fn(input_t*)
pair<int, pl0_ast_comp_op *> pl0_comp_op_fn(input_t *text) {
    auto parser = pl0_string_literal("<=")
        | pl0_string_literal("<>")
        | pl0_string_literal(">=")
        | pl0_string_literal("<")
        | pl0_string_literal(">")
        | pl0_string_literal("=");
    auto res = (spaces >> parser << spaces)(text);
    if (verbose) {
        cout << "parsing: Compare Operator(LE, NE, GE, LT, GT, EQ)" << endl;
    }
    return make_pair(std::get<0>(res), new pl0_ast_comp_op(text->locate(), std::get<1>(res)));
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa28, %rsp            # imm = 0xA28
movq %rdi, %r15
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x85b73(%rip), %rsi     # 0x9711a
leaq 0x85b6e(%rip), %rdx     # 0x9711c
leaq 0x8(%rsp), %rdi
callq 0x2670a
leaq 0x308(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xa172
leaq 0xb8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x85b3f(%rip), %rsi     # 0x9711d
leaq 0x85b3a(%rip), %rdx     # 0x9711f
leaq 0xa8(%rsp), %rdi
callq 0x2670a
leaq 0x2c0(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
callq 0xa172
leaq 0x350(%rsp), %rdi
leaq 0x308(%rsp), %rsi
leaq 0x2c0(%rsp), %rdx
callq 0x29304
leaq 0x98(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x85ae9(%rip), %rsi     # 0x97120
leaq 0x85ae4(%rip), %rdx     # 0x97122
leaq 0x88(%rsp), %rdi
callq 0x2670a
leaq 0x278(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0xa172
leaq 0xc8(%rsp), %rdi
leaq 0x350(%rsp), %rsi
leaq 0x278(%rsp), %rdx
callq 0x313d8
leaq 0x78(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x85a96(%rip), %rsi     # 0x97123
leaq 0x85a90(%rip), %rdx     # 0x97124
leaq 0x68(%rsp), %rdi
callq 0x2670a
leaq 0x230(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0xa172
leaq 0x3e0(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
leaq 0x230(%rsp), %rdx
callq 0x312c4
leaq 0x58(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x85a41(%rip), %rsi     # 0x9711e
leaq 0x85a3b(%rip), %rdx     # 0x9711f
leaq 0x48(%rsp), %rdi
callq 0x2670a
leaq 0x1e8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0xa172
leaq 0x7a8(%rsp), %rdi
leaq 0x3e0(%rsp), %rsi
leaq 0x1e8(%rsp), %rdx
callq 0x31234
leaq 0x38(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x859eb(%rip), %rsi     # 0x97118
leaq 0x859e5(%rip), %rdx     # 0x97119
leaq 0x28(%rsp), %rdi
callq 0x2670a
leaq 0x1a0(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xa172
leaq 0x5f8(%rsp), %rdi
leaq 0x7a8(%rsp), %rsi
leaq 0x1a0(%rsp), %rdx
callq 0x31010
leaq 0x1a0(%rsp), %rdi
callq 0x191e0
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x11791
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x8c8(%rsp), %rdi
callq 0x191e0
leaq 0x880(%rsp), %rdi
callq 0x191e0
leaq 0x838(%rsp), %rdi
callq 0x191e0
leaq 0x7f0(%rsp), %rdi
callq 0x191e0
leaq 0x7a8(%rsp), %rdi
callq 0x191e0
leaq 0x1e8(%rsp), %rdi
callq 0x191e0
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
leaq 0x18(%rsp), %r14
je 0x117fb
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x4b8(%rsp), %rdi
callq 0x191e0
leaq 0x470(%rsp), %rdi
callq 0x191e0
leaq 0x428(%rsp), %rdi
callq 0x191e0
leaq 0x3e0(%rsp), %rdi
callq 0x191e0
leaq 0x230(%rsp), %rdi
callq 0x191e0
movq 0x68(%rsp), %rdi
cmpq %rbx, %rdi
movq %r15, %rbx
je 0x11856
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x158(%rsp), %rdi
callq 0x191e0
leaq 0x110(%rsp), %rdi
callq 0x191e0
leaq 0xc8(%rsp), %rdi
callq 0x191e0
leaq 0x278(%rsp), %rdi
callq 0x191e0
movq 0x88(%rsp), %rdi
cmpq %r13, %rdi
je 0x118a7
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x398(%rsp), %rdi
callq 0x191e0
leaq 0x350(%rsp), %rdi
callq 0x191e0
leaq 0x2c0(%rsp), %rdi
callq 0x191e0
movq 0xa8(%rsp), %rdi
cmpq %r12, %rdi
je 0x118eb
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x308(%rsp), %rdi
callq 0x191e0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1190f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0xaed9a(%rip), %rsi     # 0xc06b0
leaq 0x3e0(%rsp), %rdi
leaq 0x5f8(%rsp), %rdx
callq 0x316b4
leaq 0xaed7e(%rip), %rdx     # 0xc06b0
leaq 0x7a8(%rsp), %rdi
leaq 0x3e0(%rsp), %rsi
callq 0x31472
leaq 0xc8(%rsp), %rdi
leaq 0x7a8(%rsp), %rsi
movq %rbx, %rdx
callq 0x21c6c
leaq 0x7a8(%rsp), %rdi
callq 0x221a4
leaq 0x448(%rsp), %r14
leaq 0x5b0(%rsp), %rdi
callq 0x191e0
leaq 0x568(%rsp), %rdi
callq 0x191e0
leaq 0x520(%rsp), %rdi
callq 0x191e0
leaq 0x4d8(%rsp), %rdi
callq 0x191e0
leaq 0x490(%rsp), %r15
movq %r15, %rdi
callq 0x191e0
movq %r14, %rdi
callq 0x191e0
movq -0x58(%r15), %rax
testq %rax, %rax
je 0x119db
leaq 0x428(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq 0x3e0(%rsp), %rdi
callq 0x161e0
movl $0x30, %edi
callq 0x5250
movq %rax, %r14
movq 0x8(%rbx), %rax
movq %rax, (%r14)
leaq 0x10(%r14), %rdi
movq %r14, %rax
addq $0x20, %rax
movq %rax, 0x10(%r14)
movq 0xe8(%rsp), %rsi
movq 0xf0(%rsp), %rdx
addq %rsi, %rdx
callq 0x36590
leaq 0xf8(%rsp), %rax
movl 0x10(%rax), %ebx
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x11a47
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0xd8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x11a68
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x760(%rsp), %rdi
callq 0x191e0
leaq 0x718(%rsp), %rdi
callq 0x191e0
leaq 0x6d0(%rsp), %rdi
callq 0x191e0
leaq 0x688(%rsp), %rdi
callq 0x191e0
leaq 0x640(%rsp), %rdi
callq 0x191e0
leaq 0x5f8(%rsp), %rdi
callq 0x191e0
movl %ebx, %eax
movq %r14, %rdx
addq $0xa28, %rsp            # imm = 0xA28
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rdi
callq 0x266fe
movq %rax, %r15
movl $0x30, %esi
movq %r14, %rdi
callq 0x5260
jmp 0x11aea
movq %rax, %r15
leaq 0xc8(%rsp), %rdi
callq 0x17c1a
jmp 0x11b20
movq %rax, %r15
leaq 0x7a8(%rsp), %rdi
callq 0x221a4
jmp 0x11b0e
movq %rax, %r15
leaq 0x3e0(%rsp), %rdi
callq 0x2224c
jmp 0x11b20
movq %rax, %r15
leaq 0x5f8(%rsp), %rdi
callq 0x222ca
jmp 0x11c87
movq %rax, %r15
leaq 0x1a0(%rsp), %rdi
callq 0x191e0
jmp 0x11b47
movq %rax, %r15
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x11b63
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5260
jmp 0x11b63
movq %rax, %r15
leaq 0x7a8(%rsp), %rdi
callq 0x21be2
jmp 0x11b75
movq %rax, %r15
leaq 0x1e8(%rsp), %rdi
callq 0x191e0
jmp 0x11b87
movq %rax, %r15
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
je 0x11ba3
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x5260
jmp 0x11ba3
movq %rax, %r15
leaq 0x3e0(%rsp), %rdi
callq 0x21c1c
leaq 0x230(%rsp), %rdi
callq 0x191e0
movq 0x68(%rsp), %rdi
cmpq %rbx, %rdi
je 0x11be3
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x5260
jmp 0x11be3
movq %rax, %r15
jmp 0x11bb0
movq %rax, %r15
jmp 0x11bbd
movq %rax, %r15
leaq 0xc8(%rsp), %rdi
callq 0x21c4a
leaq 0x278(%rsp), %rdi
callq 0x191e0
movq 0x88(%rsp), %rdi
cmpq %r13, %rdi
je 0x11c1a
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x398(%rsp), %rdi
callq 0x191e0
leaq 0x350(%rsp), %rdi
callq 0x191e0
leaq 0x2c0(%rsp), %rdi
callq 0x191e0
movq 0xa8(%rsp), %rdi
cmpq %r12, %rdi
je 0x11c5e
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x308(%rsp), %rdi
callq 0x191e0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x11c87
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5260
movq %r15, %rdi
callq 0x53d0
movq %rax, %r15
jmp 0x11bf0
movq %rax, %r15
jmp 0x11bfd
movq %rax, %r15
jmp 0x11c1a
movq %rax, %r15
jmp 0x11c34
movq %rax, %r15
jmp 0x11c41
movq %rax, %r15
jmp 0x11c5e
movq %rax, %r15
jmp 0x11c6b
movq %rax, %r15
jmp 0x11c87