user: 请将这段汇编代码片段转换成等效的C代码：

```asm
<wmlKeyWGrammarClass>:
  endbr64
  push   %rbp
  lea    D108(%rip),%rsi
  mov    %rdi,%rbp
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x1,%eax
  test   %r8d,%r8d
  je     L1
  lea    D81(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x2,%eax
  test   %r8d,%r8d
  je     L1
  lea    D50(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x3,%eax
  test   %r8d,%r8d
  je     L1
  lea    D124(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x4,%eax
  test   %r8d,%r8d
  je     L1
  lea    D2(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x5,%eax
  test   %r8d,%r8d
  je     L1
  lea    D141(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x6,%eax
  test   %r8d,%r8d
  je     L1
  lea    D65(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x7,%eax
  test   %r8d,%r8d
  je     L1
  lea    D146(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x8,%eax
  test   %r8d,%r8d
  je     L1
  lea    D119(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x9,%eax
  test   %r8d,%r8d
  je     L1
  lea    D16(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0xa,%eax
  test   %r8d,%r8d
  je     L1
  lea    D94(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0xb,%eax
  test   %r8d,%r8d
  je     L1
  lea    D15(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0xc,%eax
  test   %r8d,%r8d
  je     L1
  lea    D60(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0xd,%eax
  test   %r8d,%r8d
  je     L1
  lea    D38(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0xe,%eax
  test   %r8d,%r8d
  je     L1
  mov    %rbp,%rsi
  lea    D57(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  xor    %eax,%eax
L1:
  pop    %rbp
  ret
```

tool_calls: name: disassemble_data
arguments: label: D108
datatype: string
name: disassemble_data
arguments: label: D81
datatype: string
name: disassemble_data
arguments: label: D50
datatype: string
name: disassemble_data
arguments: label: D124
datatype: string
name: disassemble_data
arguments: label: D2
datatype: string
name: disassemble_data
arguments: label: D141
datatype: string
name: disassemble_data
arguments: label: D65
datatype: string
name: disassemble_data
arguments: label: D146
datatype: string
name: disassemble_data
arguments: label: D119
datatype: string
name: disassemble_data
arguments: label: D16
datatype: string
name: disassemble_data
arguments: label: D94
datatype: string
name: disassemble_data
arguments: label: D15
datatype: string
name: disassemble_data
arguments: label: D60
datatype: string
name: disassemble_data
arguments: label: D38
datatype: string
name: disassemble_data
arguments: label: D57
datatype: string

tool: D108: argument

tool: D81: charset

tool: D50: color

tool: D124: enumval

tool: D2: font

tool: D141: identifier

tool: D65: keyword

tool: D146: literal

tool: D119: reason

tool: D16: reserved

tool: D94: special

tool: D15: unused

tool: D60: class

tool: D38: child

tool: D57: 
Unrecognized token class %s

assistant: ```c
int wmlKeyWGrammarClass(token)
char *token;
{
  if (strcmp(token, "argument") == 0)
    return 1;
  if (strcmp(token, "charset") == 0)
    return 2;
  if (strcmp(token, "color") == 0)
    return 3;
  if (strcmp(token, "enumval") == 0)
    return 4;
  if (strcmp(token, "font") == 0)
    return 5;
  if (strcmp(token, "identifier") == 0)
    return 6;
  if (strcmp(token, "keyword") == 0)
    return 7;
  if (strcmp(token, "literal") == 0)
    return 8;
  if (strcmp(token, "reason") == 0)
    return 9;
  if (strcmp(token, "reserved") == 0)
    return 10;
  if (strcmp(token, "special") == 0)
    return 11;
  if (strcmp(token, "unused") == 0)
    return 12;
  if (strcmp(token, "class") == 0)
    return 13;
  if (strcmp(token, "child") == 0)
    return 14;
  printf("\nUnrecognized token class %s", token);
  return 0;
}
```