// File: /workspace/github_c_makefile_star2_O0/shifengbin[P]bishe/Output/../Persistence/sqlite3.c
// Function: yy_find_shift_action
static int yy_find_shift_action(
  yyParser *pParser,        /* The parser */
  YYCODETYPE iLookAhead     /* The look-ahead token */
){
  int i;
  int stateno = pParser->yystack[pParser->yyidx].stateno;
 
  if( stateno>=YY_MIN_REDUCE ) return stateno;
  assert( stateno <= YY_SHIFT_COUNT );
  do{
    i = yy_shift_ofst[stateno];
    if( i==YY_SHIFT_USE_DFLT ) return yy_default[stateno];
    assert( iLookAhead!=YYNOCODE );
    i += iLookAhead;
    if( i<0 || i>=YY_ACTTAB_COUNT || yy_lookahead[i]!=iLookAhead ){
      if( iLookAhead>0 ){
#ifdef YYFALLBACK
        YYCODETYPE iFallback;            /* Fallback token */
        if( iLookAhead<sizeof(yyFallback)/sizeof(yyFallback[0])
               && (iFallback = yyFallback[iLookAhead])!=0 ){
#ifndef NDEBUG
          if( yyTraceFILE ){
            fprintf(yyTraceFILE, "%sFALLBACK %s => %s\n",
               yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[iFallback]);
          }
#endif
          assert( yyFallback[iFallback]==0 ); /* Fallback loop must terminate */
          iLookAhead = iFallback;
          continue;
        }
#endif
#ifdef YYWILDCARD
        {
          int j = i - iLookAhead + YYWILDCARD;
          if( 
#if YY_SHIFT_MIN+YYWILDCARD<0
            j>=0 &&
#endif
#if YY_SHIFT_MAX+YYWILDCARD>=YY_ACTTAB_COUNT
            j<YY_ACTTAB_COUNT &&
#endif
            yy_lookahead[j]==YYWILDCARD
          ){
#ifndef NDEBUG
            if( yyTraceFILE ){
              fprintf(yyTraceFILE, "%sWILDCARD %s => %s\n",
                 yyTracePrompt, yyTokenName[iLookAhead],
                 yyTokenName[YYWILDCARD]);
            }
#endif /* NDEBUG */
            return yy_action[j];
          }
        }
#endif /* YYWILDCARD */
      }
      return yy_default[stateno];
    }else{
      return yy_action[i];
    }
  }while(1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq -0x10(%rbp), %rax
addq $0x10, %rax
movq -0x10(%rbp), %rcx
movslq (%rcx), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movzwl (%rax), %eax
movl %eax, -0x1c(%rbp)
cmpl $0x3d1, -0x1c(%rbp)     # imm = 0x3D1
jl 0x5899e
movl -0x1c(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x58ab5
jmp 0x589a0
movslq -0x1c(%rbp), %rcx
leaq 0x4ae65(%rip), %rax     # 0xa3810
movswl (%rax,%rcx,2), %eax
movl %eax, -0x18(%rbp)
cmpl $-0x59, -0x18(%rbp)
jne 0x589cf
movslq -0x1c(%rbp), %rcx
leaq 0x4b1bd(%rip), %rax     # 0xa3b80
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x4(%rbp)
jmp 0x58ab5
movzbl -0x11(%rbp), %eax
addl -0x18(%rbp), %eax
movl %eax, -0x18(%rbp)
cmpl $0x0, -0x18(%rbp)
jl 0x58a03
cmpl $0x5dd, -0x18(%rbp)     # imm = 0x5DD
jge 0x58a03
movslq -0x18(%rbp), %rcx
leaq 0x4b4fd(%rip), %rax     # 0xa3ef0
movzbl (%rax,%rcx), %eax
movzbl -0x11(%rbp), %ecx
cmpl %ecx, %eax
je 0x58a95
movzbl -0x11(%rbp), %eax
cmpl $0x0, %eax
jle 0x58a81
movzbl -0x11(%rbp), %eax
cmpq $0x46, %rax
jae 0x58a39
movzbl -0x11(%rbp), %eax
movl %eax, %ecx
leaq 0x4baad(%rip), %rax     # 0xa44d0
movb (%rax,%rcx), %al
movb %al, -0x1d(%rbp)
movzbl %al, %eax
cmpl $0x0, %eax
je 0x58a39
movb -0x1d(%rbp), %al
movb %al, -0x11(%rbp)
jmp 0x58aa9
movl -0x18(%rbp), %eax
movzbl -0x11(%rbp), %ecx
subl %ecx, %eax
addl $0x46, %eax
movl %eax, -0x24(%rbp)
cmpl $0x0, -0x24(%rbp)
jl 0x58a7f
cmpl $0x5dd, -0x24(%rbp)     # imm = 0x5DD
jge 0x58a7f
movslq -0x24(%rbp), %rcx
leaq 0x4b48e(%rip), %rax     # 0xa3ef0
movzbl (%rax,%rcx), %eax
cmpl $0x46, %eax
jne 0x58a7f
movslq -0x24(%rbp), %rcx
leaq 0x4baaa(%rip), %rax     # 0xa4520
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x4(%rbp)
jmp 0x58ab5
jmp 0x58a81
movslq -0x1c(%rbp), %rcx
leaq 0x4b0f4(%rip), %rax     # 0xa3b80
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x4(%rbp)
jmp 0x58ab5
movslq -0x18(%rbp), %rcx
leaq 0x4ba80(%rip), %rax     # 0xa4520
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x4(%rbp)
jmp 0x58ab5
movb $0x1, %al
testb $0x1, %al
jne 0x589a0
jmp 0x58ab5
movl -0x4(%rbp), %eax
popq %rbp
retq
nopw (%rax,%rax)