// File: /workspace/github_cpp_makefile_star2_O3/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 0x7fb1e(%rip), %rsi     # 0x9111a
leaq 0x7fb19(%rip), %rdx     # 0x9111c
leaq 0x8(%rsp), %rdi
callq 0x253d0
leaq 0x308(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xa299
leaq 0xb8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x7faea(%rip), %rsi     # 0x9111d
leaq 0x7fae5(%rip), %rdx     # 0x9111f
leaq 0xa8(%rsp), %rdi
callq 0x253d0
leaq 0x2c0(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
callq 0xa299
leaq 0x350(%rsp), %rdi
leaq 0x308(%rsp), %rsi
leaq 0x2c0(%rsp), %rdx
callq 0x27f78
leaq 0x98(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x7fa94(%rip), %rsi     # 0x91120
leaq 0x7fa8f(%rip), %rdx     # 0x91122
leaq 0x88(%rsp), %rdi
callq 0x253d0
leaq 0x278(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0xa299
leaq 0xc8(%rsp), %rdi
leaq 0x350(%rsp), %rsi
leaq 0x278(%rsp), %rdx
callq 0x2ffb2
leaq 0x78(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x7fa41(%rip), %rsi     # 0x91123
leaq 0x7fa3b(%rip), %rdx     # 0x91124
leaq 0x68(%rsp), %rdi
callq 0x253d0
leaq 0x230(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0xa299
leaq 0x3e0(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
leaq 0x230(%rsp), %rdx
callq 0x2fe9e
leaq 0x58(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x7f9ec(%rip), %rsi     # 0x9111e
leaq 0x7f9e6(%rip), %rdx     # 0x9111f
leaq 0x48(%rsp), %rdi
callq 0x253d0
leaq 0x1e8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0xa299
leaq 0x7a8(%rsp), %rdi
leaq 0x3e0(%rsp), %rsi
leaq 0x1e8(%rsp), %rdx
callq 0x2fe0e
leaq 0x38(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x7f996(%rip), %rsi     # 0x91118
leaq 0x7f990(%rip), %rdx     # 0x91119
leaq 0x28(%rsp), %rdi
callq 0x253d0
leaq 0x1a0(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xa299
leaq 0x5f8(%rsp), %rdi
leaq 0x7a8(%rsp), %rsi
leaq 0x1a0(%rsp), %rdx
callq 0x2fbea
leaq 0x1a0(%rsp), %rdi
callq 0x18eaa
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x117e6
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x8c8(%rsp), %rdi
callq 0x18eaa
leaq 0x880(%rsp), %rdi
callq 0x18eaa
leaq 0x838(%rsp), %rdi
callq 0x18eaa
leaq 0x7f0(%rsp), %rdi
callq 0x18eaa
leaq 0x7a8(%rsp), %rdi
callq 0x18eaa
leaq 0x1e8(%rsp), %rdi
callq 0x18eaa
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
leaq 0x18(%rsp), %r14
je 0x11850
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x4b8(%rsp), %rdi
callq 0x18eaa
leaq 0x470(%rsp), %rdi
callq 0x18eaa
leaq 0x428(%rsp), %rdi
callq 0x18eaa
leaq 0x3e0(%rsp), %rdi
callq 0x18eaa
leaq 0x230(%rsp), %rdi
callq 0x18eaa
movq 0x68(%rsp), %rdi
cmpq %rbx, %rdi
movq %r15, %rbx
je 0x118ab
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x158(%rsp), %rdi
callq 0x18eaa
leaq 0x110(%rsp), %rdi
callq 0x18eaa
leaq 0xc8(%rsp), %rdi
callq 0x18eaa
leaq 0x278(%rsp), %rdi
callq 0x18eaa
movq 0x88(%rsp), %rdi
cmpq %r13, %rdi
je 0x118fc
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x398(%rsp), %rdi
callq 0x18eaa
leaq 0x350(%rsp), %rdi
callq 0x18eaa
leaq 0x2c0(%rsp), %rdi
callq 0x18eaa
movq 0xa8(%rsp), %rdi
cmpq %r12, %rdi
je 0x11940
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x308(%rsp), %rdi
callq 0x18eaa
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x11964
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0xa8d45(%rip), %rsi     # 0xba6b0
leaq 0x3e0(%rsp), %rdi
leaq 0x5f8(%rsp), %rdx
callq 0x3028e
leaq 0xa8d29(%rip), %rdx     # 0xba6b0
leaq 0x7a8(%rsp), %rdi
leaq 0x3e0(%rsp), %rsi
callq 0x3004c
leaq 0xc8(%rsp), %rdi
leaq 0x7a8(%rsp), %rsi
movq %rbx, %rdx
callq 0x20e40
leaq 0x7a8(%rsp), %rdi
callq 0x21378
leaq 0x448(%rsp), %r14
leaq 0x5b0(%rsp), %rdi
callq 0x18eaa
leaq 0x568(%rsp), %rdi
callq 0x18eaa
leaq 0x520(%rsp), %rdi
callq 0x18eaa
leaq 0x4d8(%rsp), %rdi
callq 0x18eaa
leaq 0x490(%rsp), %r15
movq %r15, %rdi
callq 0x18eaa
movq %r14, %rdi
callq 0x18eaa
movq -0x58(%r15), %rax
testq %rax, %rax
je 0x11a30
leaq 0x428(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq 0x3e0(%rsp), %rdi
callq 0x161f6
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 0x351dc
leaq 0xf8(%rsp), %rax
movl 0x10(%rax), %ebx
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x11a9c
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0xd8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x11abd
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x760(%rsp), %rdi
callq 0x18eaa
leaq 0x718(%rsp), %rdi
callq 0x18eaa
leaq 0x6d0(%rsp), %rdi
callq 0x18eaa
leaq 0x688(%rsp), %rdi
callq 0x18eaa
leaq 0x640(%rsp), %rdi
callq 0x18eaa
leaq 0x5f8(%rsp), %rdi
callq 0x18eaa
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 0x253c4
movq %rax, %r15
movl $0x30, %esi
movq %r14, %rdi
callq 0x5260
jmp 0x11b3f
movq %rax, %r15
leaq 0xc8(%rsp), %rdi
callq 0x17a9c
jmp 0x11b75
movq %rax, %r15
leaq 0x7a8(%rsp), %rdi
callq 0x21378
jmp 0x11b63
movq %rax, %r15
leaq 0x3e0(%rsp), %rdi
callq 0x21420
jmp 0x11b75
movq %rax, %r15
leaq 0x5f8(%rsp), %rdi
callq 0x2149e
jmp 0x11cdc
movq %rax, %r15
leaq 0x1a0(%rsp), %rdi
callq 0x18eaa
jmp 0x11b9c
movq %rax, %r15
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x11bb8
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5260
jmp 0x11bb8
movq %rax, %r15
leaq 0x7a8(%rsp), %rdi
callq 0x20db6
jmp 0x11bca
movq %rax, %r15
leaq 0x1e8(%rsp), %rdi
callq 0x18eaa
jmp 0x11bdc
movq %rax, %r15
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
je 0x11bf8
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x5260
jmp 0x11bf8
movq %rax, %r15
leaq 0x3e0(%rsp), %rdi
callq 0x20df0
leaq 0x230(%rsp), %rdi
callq 0x18eaa
movq 0x68(%rsp), %rdi
cmpq %rbx, %rdi
je 0x11c38
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x5260
jmp 0x11c38
movq %rax, %r15
jmp 0x11c05
movq %rax, %r15
jmp 0x11c12
movq %rax, %r15
leaq 0xc8(%rsp), %rdi
callq 0x20e1e
leaq 0x278(%rsp), %rdi
callq 0x18eaa
movq 0x88(%rsp), %rdi
cmpq %r13, %rdi
je 0x11c6f
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x398(%rsp), %rdi
callq 0x18eaa
leaq 0x350(%rsp), %rdi
callq 0x18eaa
leaq 0x2c0(%rsp), %rdi
callq 0x18eaa
movq 0xa8(%rsp), %rdi
cmpq %r12, %rdi
je 0x11cb3
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x308(%rsp), %rdi
callq 0x18eaa
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x11cdc
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5260
movq %r15, %rdi
callq 0x53d0
movq %rax, %r15
jmp 0x11c45
movq %rax, %r15
jmp 0x11c52
movq %rax, %r15
jmp 0x11c6f
movq %rax, %r15
jmp 0x11c89
movq %rax, %r15
jmp 0x11c96
movq %rax, %r15
jmp 0x11cb3
movq %rax, %r15
jmp 0x11cc0
movq %rax, %r15
jmp 0x11cdc