// File: /workspace/github_c_makefile_star2_O0/orangeduck[P]mpc/mpc.c
// Function: mpc_re_escape_char
static mpc_parser_t *mpc_re_escape_char(char c) {
  switch (c) {
    case 'a': return mpc_char('\a');
    case 'f': return mpc_char('\f');
    case 'n': return mpc_char('\n');
    case 'r': return mpc_char('\r');
    case 't': return mpc_char('\t');
    case 'v': return mpc_char('\v');
    case 'b': return mpc_and(2, mpcf_snd, mpc_boundary(), mpc_lift(mpcf_ctor_str), free);
    case 'B': return mpc_not_lift(mpc_boundary(), free, mpcf_ctor_str);
    case 'A': return mpc_and(2, mpcf_snd, mpc_soi(), mpc_lift(mpcf_ctor_str), free);
    case 'Z': return mpc_and(2, mpcf_snd, mpc_eoi(), mpc_lift(mpcf_ctor_str), free);
    case 'd': return mpc_digit();
    case 'D': return mpc_not_lift(mpc_digit(), free, mpcf_ctor_str);
    case 's': return mpc_whitespace();
    case 'S': return mpc_not_lift(mpc_whitespace(), free, mpcf_ctor_str);
    case 'w': return mpc_alphanum();
    case 'W': return mpc_not_lift(mpc_alphanum(), free, mpcf_ctor_str);
    default: return NULL;
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movb %dil, %al
movb %al, -0x9(%rbp)
movsbl -0x9(%rbp), %eax
addl $-0x41, %eax
movl %eax, %ecx
movq %rcx, -0x18(%rbp)
subl $0x36, %eax
ja 0x10fa2
movq -0x18(%rbp), %rax
leaq 0x1499(%rip), %rcx      # 0x12258
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x7, %edi
callq 0x4580
movq %rax, -0x8(%rbp)
jmp 0x10faa
movl $0xc, %edi
callq 0x4580
movq %rax, -0x8(%rbp)
jmp 0x10faa
movl $0xa, %edi
callq 0x4580
movq %rax, -0x8(%rbp)
jmp 0x10faa
movl $0xd, %edi
callq 0x4580
movq %rax, -0x8(%rbp)
jmp 0x10faa
movl $0x9, %edi
callq 0x4580
movq %rax, -0x8(%rbp)
jmp 0x10faa
movl $0xb, %edi
callq 0x4580
movq %rax, -0x8(%rbp)
jmp 0x10faa
callq 0x41f0
movq %rax, -0x20(%rbp)
movq 0x612e(%rip), %rdi      # 0x16f78
callq 0x4140
movq -0x20(%rbp), %rdx
movq %rax, %rcx
movl $0x2, %edi
movq 0x6166(%rip), %rsi      # 0x16fc8
movq 0x60b7(%rip), %r8       # 0x16f20
movb $0x0, %al
callq 0x41c0
movq %rax, -0x8(%rbp)
jmp 0x10faa
callq 0x41f0
movq %rax, %rdi
movq 0x6098(%rip), %rsi      # 0x16f20
movq 0x60e9(%rip), %rdx      # 0x16f78
callq 0x42e0
movq %rax, -0x8(%rbp)
jmp 0x10faa
callq 0x4170
movq %rax, -0x28(%rbp)
movq 0x60cb(%rip), %rdi      # 0x16f78
callq 0x4140
movq -0x28(%rbp), %rdx
movq %rax, %rcx
movl $0x2, %edi
movq 0x6103(%rip), %rsi      # 0x16fc8
movq 0x6054(%rip), %r8       # 0x16f20
movb $0x0, %al
callq 0x41c0
movq %rax, -0x8(%rbp)
jmp 0x10faa
callq 0x4290
movq %rax, -0x30(%rbp)
movq 0x608c(%rip), %rdi      # 0x16f78
callq 0x4140
movq -0x30(%rbp), %rdx
movq %rax, %rcx
movl $0x2, %edi
movq 0x60c4(%rip), %rsi      # 0x16fc8
movq 0x6015(%rip), %r8       # 0x16f20
movb $0x0, %al
callq 0x41c0
movq %rax, -0x8(%rbp)
jmp 0x10faa
callq 0x4410
movq %rax, -0x8(%rbp)
jmp 0x10faa
callq 0x4410
movq %rax, %rdi
movq 0x5fe8(%rip), %rsi      # 0x16f20
movq 0x6039(%rip), %rdx      # 0x16f78
callq 0x42e0
movq %rax, -0x8(%rbp)
jmp 0x10faa
callq 0x41a0
movq %rax, -0x8(%rbp)
jmp 0x10faa
callq 0x41a0
movq %rax, %rdi
movq 0x5fbc(%rip), %rsi      # 0x16f20
movq 0x600d(%rip), %rdx      # 0x16f78
callq 0x42e0
movq %rax, -0x8(%rbp)
jmp 0x10faa
callq 0x46b0
movq %rax, -0x8(%rbp)
jmp 0x10faa
callq 0x46b0
movq %rax, %rdi
movq 0x5f90(%rip), %rsi      # 0x16f20
movq 0x5fe1(%rip), %rdx      # 0x16f78
callq 0x42e0
movq %rax, -0x8(%rbp)
jmp 0x10faa
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)