// File: yhirose[P]fizzbuzzlang/./peglib.h
// Function: peg::TokenBoundary::parse_core(char const*, unsigned long, peg::SemanticValues&, peg::Context&, std::any&) const
inline size_t TokenBoundary::parse_core(const char *s, size_t n,
                                        SemanticValues &vs, Context &c,
                                        std::any &dt) const {
  auto save_ignore_trace_state = c.ignore_trace_state;
  c.ignore_trace_state = !c.verbose_trace;
  auto se =
      scope_exit([&]() { c.ignore_trace_state = save_ignore_trace_state; });

  size_t len;
  {
    c.in_token_boundary_count++;
    auto se = scope_exit([&]() { c.in_token_boundary_count--; });
    len = ope_->parse(s, n, vs, c, dt);
  }

  if (success(len)) {
    vs.tokens.emplace_back(std::string_view(s, len));

    if (!c.in_token_boundary_count) {
      if (c.whitespaceOpe) {
        auto l = c.whitespaceOpe->parse(s + len, n - len, vs, c, dt);
        if (fail(l)) { return l; }
        len += l;
      }
    }
  }
  return len;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0x30(%rbp), %rax
movb 0x288(%rax), %al
andb $0x1, %al
movb %al, -0x39(%rbp)
movq -0x30(%rbp), %rax
movb 0x240(%rax), %cl
notb %cl
andb $0x1, %cl
movb %cl, 0x288(%rax)
movq -0x30(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq -0x39(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq -0x58(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0xe910
movq -0x30(%rbp), %rax
movq 0xe8(%rax), %rcx
incq %rcx
movq %rcx, 0xe8(%rax)
movq -0x30(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq -0x80(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0xe940
jmp 0xe731
movq -0xc0(%rbp), %rdi
addq $0x8, %rdi
callq 0xded0
movq %rax, %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
movq -0x30(%rbp), %r8
movq -0x38(%rbp), %r9
callq 0xdaf0
movq %rax, -0xc8(%rbp)
jmp 0xe766
movq -0xc8(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x80(%rbp), %rdi
callq 0xe960
movq -0x70(%rbp), %rdi
callq 0xe9a0
movb %al, -0xc9(%rbp)
jmp 0xe78b
movb -0xc9(%rbp), %al
testb $0x1, %al
jne 0xe79a
jmp 0xe8cc
movq -0x28(%rbp), %rax
addq $0x40, %rax
movq %rax, -0xe0(%rbp)
movq -0x18(%rbp), %rsi
movq -0x70(%rbp), %rdx
leaq -0xa8(%rbp), %rdi
movq %rdi, -0xd8(%rbp)
callq 0xea40
movq -0xe0(%rbp), %rdi
movq -0xd8(%rbp), %rsi
callq 0xe9c0
jmp 0xe7d9
movq -0x30(%rbp), %rax
cmpq $0x0, 0xe8(%rax)
jne 0xe8ca
movq -0x30(%rbp), %rdi
addq $0xf0, %rdi
callq 0xd270
testb $0x1, %al
jne 0xe804
jmp 0xe8c8
movq -0x30(%rbp), %rdi
addq $0xf0, %rdi
callq 0xded0
movq %rax, %rdi
movq -0x18(%rbp), %rsi
movq -0x70(%rbp), %rax
addq %rax, %rsi
movq -0x20(%rbp), %rdx
subq %rax, %rdx
movq -0x28(%rbp), %rcx
movq -0x30(%rbp), %r8
movq -0x38(%rbp), %r9
callq 0xdaf0
movq %rax, -0xe8(%rbp)
jmp 0xe843
movq -0xe8(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rdi
callq 0xdbd0
movb %al, -0xe9(%rbp)
jmp 0xe865
movb -0xe9(%rbp), %al
testb $0x1, %al
jne 0xe871
jmp 0xe8b9
movq -0xb0(%rbp), %rax
movq %rax, -0x8(%rbp)
movl $0x1, -0xb4(%rbp)
jmp 0xe8de
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0xe8f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x80(%rbp), %rdi
callq 0xe960
jmp 0xe8f4
movq -0xb0(%rbp), %rax
addq -0x70(%rbp), %rax
movq %rax, -0x70(%rbp)
jmp 0xe8ca
jmp 0xe8cc
movq -0x70(%rbp), %rax
movq %rax, -0x8(%rbp)
movl $0x1, -0xb4(%rbp)
leaq -0x58(%rbp), %rdi
callq 0xea70
movq -0x8(%rbp), %rax
addq $0xf0, %rsp
popq %rbp
retq
leaq -0x58(%rbp), %rdi
callq 0xea70
movq -0x90(%rbp), %rdi
callq 0xa650
nopl (%rax)