// File: /workspace/github_c_makefile_star2_O0/ejunjsh[P]mycc/scan.c
// Function: keyword
static int keyword(char *s) {
  switch (*s) {
    case 'b':
      if (!strcmp(s, "break"))
	    return (T_BREAK);
      break;
    case 'c':
      if (!strcmp(s, "case"))
	    return (T_CASE);
      if (!strcmp(s, "char"))
	    return (T_CHAR);
      if (!strcmp(s, "continue"))
	    return (T_CONTINUE);
      break;
    case 'd':
      if (!strcmp(s, "default"))
	    return (T_DEFAULT);
      break;
    case 'e':
      if (!strcmp(s, "else"))
	    return (T_ELSE);
      if (!strcmp(s, "enum"))
	    return (T_ENUM);
      if (!strcmp(s, "extern"))
	    return (T_EXTERN);
      break;
    case 'f':
      if (!strcmp(s, "for"))
	    return (T_FOR);
      break;
    case 'i':
      if (!strcmp(s, "if"))
	    return (T_IF);
      if (!strcmp(s, "int"))
	    return (T_INT);
      break;
    case 'l':
      if (!strcmp(s, "long"))
	    return (T_LONG);
      break;
    case 'r':
      if (!strcmp(s, "return"))
	    return (T_RETURN);
      break;
    case 's':
      if (!strcmp(s, "sizeof"))
	    return (T_SIZEOF);
      if (!strcmp(s, "static"))
	    return (T_STATIC);
      if (!strcmp(s, "struct"))
	    return (T_STRUCT);
      if (!strcmp(s, "switch"))
	    return (T_SWITCH);
      break;
    case 't':
      if (!strcmp(s, "typedef"))
	    return (T_TYPEDEF);
      break;
    case 'u':
      if (!strcmp(s, "union"))
	    return (T_UNION);
      break;
    case 'v':
      if (!strcmp(s, "void"))
	    return (T_VOID);
      break;
    case 'w':
      if (!strcmp(s, "while"))
	    return (T_WHILE);
      break;
  }
  return (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
addl $-0x62, %eax
movl %eax, %ecx
movq %rcx, -0x18(%rbp)
subl $0x15, %eax
ja 0x92f7
movq -0x18(%rbp), %rax
leaq 0x4afc(%rip), %rcx      # 0xdb0c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rdi
leaq 0x4ba4(%rip), %rsi      # 0xdbc8
callq 0x20d0
cmpl $0x0, %eax
jne 0x903a
movl $0x2c, -0x4(%rbp)
jmp 0x92fe
jmp 0x92f7
movq -0x10(%rbp), %rdi
leaq 0x4b8d(%rip), %rsi      # 0xdbd7
callq 0x20d0
cmpl $0x0, %eax
jne 0x9060
movl $0x2f, -0x4(%rbp)
jmp 0x92fe
movq -0x10(%rbp), %rdi
leaq 0x4b3d(%rip), %rsi      # 0xdba8
callq 0x20d0
cmpl $0x0, %eax
jne 0x9081
movl $0x1f, -0x4(%rbp)
jmp 0x92fe
movq -0x10(%rbp), %rdi
leaq 0x4b42(%rip), %rsi      # 0xdbce
callq 0x20d0
cmpl $0x0, %eax
jne 0x90a2
movl $0x2d, -0x4(%rbp)
jmp 0x92fe
jmp 0x92f7
movq -0x10(%rbp), %rdi
leaq 0x4db6(%rip), %rsi      # 0xde68
callq 0x20d0
cmpl $0x0, %eax
jne 0x90c8
movl $0x30, -0x4(%rbp)
jmp 0x92fe
jmp 0x92f7
movq -0x10(%rbp), %rdi
leaq 0x4adc(%rip), %rsi      # 0xdbb4
callq 0x20d0
cmpl $0x0, %eax
jne 0x90ee
movl $0x23, -0x4(%rbp)
jmp 0x92fe
movq -0x10(%rbp), %rdi
leaq 0x4aca(%rip), %rsi      # 0xdbc3
callq 0x20d0
cmpl $0x0, %eax
jne 0x910f
movl $0x29, -0x4(%rbp)
jmp 0x92fe
movq -0x10(%rbp), %rdi
leaq 0x4ec6(%rip), %rsi      # 0xdfe0
callq 0x20d0
cmpl $0x0, %eax
jne 0x9130
movl $0x2b, -0x4(%rbp)
jmp 0x92fe
jmp 0x92f7
movq -0x10(%rbp), %rdi
leaq 0x4a7f(%rip), %rsi      # 0xdbbf
callq 0x20d0
cmpl $0x0, %eax
jne 0x9156
movl $0x25, -0x4(%rbp)
jmp 0x92fe
jmp 0x92f7
movq -0x10(%rbp), %rdi
leaq 0x4a4b(%rip), %rsi      # 0xdbb1
callq 0x20d0
cmpl $0x0, %eax
jne 0x917c
movl $0x22, -0x4(%rbp)
jmp 0x92fe
movq -0x10(%rbp), %rdi
leaq 0x4a26(%rip), %rsi      # 0xdbad
callq 0x20d0
cmpl $0x0, %eax
jne 0x919d
movl $0x20, -0x4(%rbp)
jmp 0x92fe
jmp 0x92f7
movq -0x10(%rbp), %rdi
leaq 0x4b67(%rip), %rsi      # 0xdd14
callq 0x20d0
cmpl $0x0, %eax
jne 0x91c3
movl $0x21, -0x4(%rbp)
jmp 0x92fe
jmp 0x92f7
movq -0x10(%rbp), %rdi
leaq 0x4bf8(%rip), %rsi      # 0xddcb
callq 0x20d0
cmpl $0x0, %eax
jne 0x91e9
movl $0x26, -0x4(%rbp)
jmp 0x92fe
jmp 0x92f7
movq -0x10(%rbp), %rdi
leaq 0x3e76(%rip), %rsi      # 0xd06f
callq 0x20d0
cmpl $0x0, %eax
jne 0x920f
movl $0x31, -0x4(%rbp)
jmp 0x92fe
movq -0x10(%rbp), %rdi
leaq 0x4dcf(%rip), %rsi      # 0xdfe9
callq 0x20d0
cmpl $0x0, %eax
jne 0x9230
movl $0x32, -0x4(%rbp)
jmp 0x92fe
movq -0x10(%rbp), %rdi
leaq 0x4db7(%rip), %rsi      # 0xdff2
callq 0x20d0
cmpl $0x0, %eax
jne 0x9251
movl $0x27, -0x4(%rbp)
jmp 0x92fe
movq -0x10(%rbp), %rdi
leaq 0x4c66(%rip), %rsi      # 0xdec2
callq 0x20d0
cmpl $0x0, %eax
jne 0x9272
movl $0x2e, -0x4(%rbp)
jmp 0x92fe
jmp 0x92f7
movq -0x10(%rbp), %rdi
leaq 0x4d9f(%rip), %rsi      # 0xe021
callq 0x20d0
cmpl $0x0, %eax
jne 0x9295
movl $0x2a, -0x4(%rbp)
jmp 0x92fe
jmp 0x92f7
movq -0x10(%rbp), %rdi
leaq 0x4d59(%rip), %rsi      # 0xdffb
callq 0x20d0
cmpl $0x0, %eax
jne 0x92b5
movl $0x28, -0x4(%rbp)
jmp 0x92fe
jmp 0x92f7
movq -0x10(%rbp), %rdi
leaq 0x48e1(%rip), %rsi      # 0xdba3
callq 0x20d0
cmpl $0x0, %eax
jne 0x92d5
movl $0x1e, -0x4(%rbp)
jmp 0x92fe
jmp 0x92f7
movq -0x10(%rbp), %rdi
leaq 0x48d7(%rip), %rsi      # 0xdbb9
callq 0x20d0
cmpl $0x0, %eax
jne 0x92f5
movl $0x24, -0x4(%rbp)
jmp 0x92fe
jmp 0x92f7
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)