// File: /workspace/github_c_makefile_star2_O0/pocari[P]compilerbook-9cc/tokenize.c
// Function: token_kind_to_s
char *token_kind_to_s(TokenKind kind) {
  switch (kind) {
    case TK_DUMMY: // ダミー
      return "TK_DUMMY";
    case TK_RESERVED: // 記号系
      return "TK_RESERVED";
    case TK_IDENT: // 識別子
      return "TK_IDENT";
    case TK_NUM: // 整数トークン
      return "TK_NUM";
    case TK_RETURN: // returnトークン
      return "TK_RETURN";
    case TK_WHILE: // while
      return "TK_WHILE";
    case TK_DO: // do
      return "TK_DO";
    case TK_IF: // if
      return "TK_IF";
    case TK_ELSE: // else
      return "TK_ELSE";
    case TK_FOR: // for
      return "TK_FOR";
    case TK_VOID: // void
      return "TK_VOID";
    case TK_BOOL: // bool
      return "TK_BOOl";
    case TK_INT: // int
      return "TK_INT";
    case TK_CHAR: // char
      return "TK_CHAR";
    case TK_LONG: // long
      return "TK_LONG";
    case TK_SHORT: // short
      return "TK_SHORT";
    case TK_STRUCT: // struct
      return "TK_STRUCT";
    case TK_ENUM: // enum
      return "TK_ENUM";
    case TK_SIZEOF: // sizeof
      return "TK_SIZEOF";
    case TK_ALIGNOF: // _Alignof
      return "TK_ALIGNOF";
    case TK_STR: // 文字列リテラル
      return "TK_STR";
    case TK_TYPEDEF: // typedef
      return "TK_TYPEDEF";
    case TK_STATIC: // static
      return "TK_STATIC";
    case TK_EXTERN: // extern
      return "TK_EXTERN";
    case TK_BREAK: // break
      return "TK_BREAK";
    case TK_CONTINUE: // continue
      return "TK_CONTINUE";
    case TK_GOTO: // goto
      return "TK_GOTO";
    case TK_SWITCH: // switch
      return "TK_SWITCH";
    case TK_CASE: // case
      return "TK_CASE";
    case TK_DEFAULT: // default
      return "TK_DEFAULT";
    case TK_EOF: // 入力終了
      return "TK_EOF";
  }
  error("不正なtokenです");

  return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0xc(%rbp)
movl -0xc(%rbp), %eax
movq %rax, -0x18(%rbp)
subq $0x1e, %rax
ja 0xc845
movq -0x18(%rbp), %rax
leaq 0x45b1(%rip), %rcx      # 0x10c18
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x461d(%rip), %rax      # 0x10c94
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x4616(%rip), %rax      # 0x10c9d
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x4612(%rip), %rax      # 0x10ca9
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x460b(%rip), %rax      # 0x10cb2
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x4602(%rip), %rax      # 0x10cb9
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x45fc(%rip), %rax      # 0x10cc3
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x45f5(%rip), %rax      # 0x10ccc
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x45eb(%rip), %rax      # 0x10cd2
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x45e1(%rip), %rax      # 0x10cd8
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x45d9(%rip), %rax      # 0x10ce0
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x45d0(%rip), %rax      # 0x10ce7
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x45c8(%rip), %rax      # 0x10cef
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x45c0(%rip), %rax      # 0x10cf7
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x45b7(%rip), %rax      # 0x10cfe
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x45af(%rip), %rax      # 0x10d06
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x45a7(%rip), %rax      # 0x10d0e
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x45a0(%rip), %rax      # 0x10d17
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x459a(%rip), %rax      # 0x10d21
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x4592(%rip), %rax      # 0x10d29
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x458c(%rip), %rax      # 0x10d33
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x4587(%rip), %rax      # 0x10d3e
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x457e(%rip), %rax      # 0x10d45
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x4579(%rip), %rax      # 0x10d50
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x4576(%rip), %rax      # 0x10d5a
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x4573(%rip), %rax      # 0x10d64
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x456f(%rip), %rax      # 0x10d6d
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x456e(%rip), %rax      # 0x10d79
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x4569(%rip), %rax      # 0x10d81
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x4566(%rip), %rax      # 0x10d8b
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x4561(%rip), %rax      # 0x10d93
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x455f(%rip), %rax      # 0x10d9e
movq %rax, -0x8(%rbp)
jmp 0xc85b
leaq 0x4559(%rip), %rdi      # 0x10da5
movb $0x0, %al
callq 0x65d0
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)