// File: /workspace/github_cpp_makefile_star2_O1/Merulo[P]CompilerJFTT/src/External/Parser.cpp
// Function: yysyntax_error(long*, char**, yypcontext_t const*)
static int
yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,
                const yypcontext_t *yyctx)
{
  enum { YYARGS_MAX = 5 };
  /* Internationalized format string. */
  const char *yyformat = YY_NULLPTR;
  /* Arguments of yyformat: reported tokens (one for the "unexpected",
     one per "expected"). */
  yysymbol_kind_t yyarg[YYARGS_MAX];
  /* Cumulated lengths of YYARG.  */
  YYPTRDIFF_T yysize = 0;

  /* Actual size of YYARG. */
  int yycount = yy_syntax_error_arguments (yyctx, yyarg, YYARGS_MAX);
  if (yycount == YYENOMEM)
    return YYENOMEM;

  switch (yycount)
    {
#define YYCASE_(N, S)                       \
      case N:                               \
        yyformat = S;                       \
        break
    default: /* Avoid compiler warnings. */
      YYCASE_(0, YY_("syntax error"));
      YYCASE_(1, YY_("syntax error, unexpected %s"));
      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
#undef YYCASE_
    }

  /* Compute error message size.  Don't count the "%s"s, but reserve
     room for the terminator.  */
  yysize = yystrlen (yyformat) - 2 * yycount + 1;
  {
    int yyi;
    for (yyi = 0; yyi < yycount; ++yyi)
      {
        YYPTRDIFF_T yysize1
          = yysize + yytnamerr (YY_NULLPTR, yytname[yyarg[yyi]]);
        if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
          yysize = yysize1;
        else
          return YYENOMEM;
      }
  }

  if (*yymsg_alloc < yysize)
    {
      *yymsg_alloc = 2 * yysize;
      if (! (yysize <= *yymsg_alloc
             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
      return -1;
    }

  /* Avoid sprintf, as that infringes on the user's name space.
     Don't have undefined behavior even if the translation
     produced a string with the wrong number of "%s"s.  */
  {
    char *yyp = *yymsg;
    int yyi = 0;
    while ((*yyp = *yyformat) != '\0')
      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
        {
          yyp += yytnamerr (yyp, yytname[yyarg[yyi++]]);
          yyformat += 2;
        }
      else
        {
          ++yyp;
          ++yyformat;
        }
  }
  return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdi, %r13
movl 0x8(%rdx), %eax
xorl %r12d, %r12d
cmpl $-0x2, %eax
je 0x34e20
movl %eax, -0x50(%rbp)
movq (%rdx), %rax
movsbq (%rax), %rax
leaq 0x3fb7(%rip), %rcx      # 0x38d50
movswl (%rcx,%rax,2), %edx
xorl %eax, %eax
cmpl $-0x17, %edx
je 0x34e0a
movl %edx, %ecx
negl %ecx
xorl %eax, %eax
testw %dx, %dx
cmovnsl %eax, %ecx
movl $0xc4, %edi
subl %edx, %edi
cmpl $0x28, %edi
movl $0x28, %r8d
cmovll %edi, %r8d
cmpl %r8d, %ecx
jge 0x34e0a
movslq %ecx, %rcx
movslq %edx, %rdx
movslq %r8d, %r9
xorl %eax, %eax
leaq 0x4175(%rip), %rdi      # 0x38f50
cmpq $0x1, %rcx
je 0x34e02
leaq (%rdx,%rcx), %r8
movsbq (%rdi,%r8), %r8
cmpq %r8, %rcx
jne 0x34e02
cmpl $0x4, %eax
je 0x34fbc
movslq %eax, %r8
incl %eax
movl %ecx, -0x4c(%rbp,%r8,4)
incq %rcx
cmpq %rcx, %r9
jne 0x34ddb
testl %eax, %eax
jne 0x34e15
movl $0xfffffffe, -0x4c(%rbp) # imm = 0xFFFFFFFE
leal 0x1(%rax), %r12d
cmpl $-0x2, %eax
cmovel %eax, %r12d
leaq 0x45e3(%rip), %r15      # 0x3940a
leal 0x2(%r12), %eax
cmpl $0x7, %eax
ja 0x34e74
leaq 0x395c(%rip), %rcx      # 0x38794
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl %r12d, %eax
jmp 0x34fad
leaq 0x495e(%rip), %r15      # 0x397ae
jmp 0x34e74
leaq 0x49e5(%rip), %r15      # 0x3983e
jmp 0x34e74
leaq 0x4930(%rip), %r15      # 0x39792
jmp 0x34e74
leaq 0x496d(%rip), %r15      # 0x397d8
jmp 0x34e74
leaq 0x4994(%rip), %r15      # 0x39808
movq %rsi, -0x58(%rbp)
movq %r15, %rdi
callq 0x4140
leal (%r12,%r12), %ecx
movslq %ecx, %rcx
negq %rcx
leaq (%rax,%rcx), %rbx
incq %rbx
testl %r12d, %r12d
setg %r14b
jle 0x34f13
movq %r13, -0x30(%rbp)
movslq -0x50(%rbp), %rax
leaq 0x10bb7(%rip), %rcx     # 0x45a60
movq (%rcx,%rax,8), %rsi
xorl %r13d, %r13d
xorl %edi, %edi
callq 0x35540
testq %rax, %rax
cmovnsq %rax, %r13
addq %rbx, %r13
testq %rax, %rax
js 0x34f0c
movl %r12d, %ebx
movl $0x1, %ecx
movq %rcx, %r14
cmpq %rcx, %rbx
je 0x34f05
movslq -0x50(%rbp,%r14,4), %rax
leaq 0x10b7e(%rip), %rcx     # 0x45a60
movq (%rcx,%rax,8), %rsi
xorl %edi, %edi
callq 0x35540
testq %rax, %rax
movl $0x0, %ecx
cmovnsq %rax, %rcx
addq %rcx, %r13
leaq 0x1(%r14), %rcx
testq %rax, %rax
jns 0x34ece
cmpq %rbx, %r14
setb %r14b
movq %r13, %rbx
movq -0x30(%rbp), %r13
movl $0xfffffffe, %eax       # imm = 0xFFFFFFFE
testb %r14b, %r14b
jne 0x34fad
cmpq %rbx, (%r13)
jge 0x34f47
leaq (%rbx,%rbx), %rax
cmpq %rax, %rbx
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmovleq %rax, %rcx
movq %rcx, (%r13)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x34fad
movq -0x58(%rbp), %rax
movq (%rax), %rbx
xorl %r14d, %r14d
leaq 0x10b08(%rip), %r13     # 0x45a60
movzbl (%r15), %edx
movb %dl, (%rbx)
movl $0x1, %eax
cmpl $0x25, %edx
je 0x34f73
movl $0x1, %ecx
testl %edx, %edx
jne 0x34fa3
jmp 0x34fab
cmpb $0x73, 0x1(%r15)
jne 0x34f9e
cmpl %r12d, %r14d
jge 0x34f9e
movslq %r14d, %rax
incl %r14d
movslq -0x50(%rbp,%rax,4), %rax
movq (%r13,%rax,8), %rsi
movq %rbx, %rdi
callq 0x35540
movl $0x2, %ecx
jmp 0x34fa3
movl $0x1, %ecx
addq %rax, %rbx
addq %rcx, %r15
jmp 0x34f58
xorl %eax, %eax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %eax, %eax
jmp 0x34e15