user: Demonstrate the C code that generates the assembly output below:

```asm
<exibeToken>:
  endbr64
  cmp    $0xe,%edi
  ja     L2
  lea    D57(%rip),%rdx
  mov    %edi,%edi
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  lea    D129(%rip),%rdi
  jmp    1050 <printf@plt>
  nopl   0x0(%rax)
  lea    D67(%rip),%rdi
  jmp    1050 <printf@plt>
  nopl   0x0(%rax)
  lea    D63(%rip),%rdi
  jmp    1050 <printf@plt>
  nopl   0x0(%rax)
  lea    D54(%rip),%rdi
  jmp    1050 <printf@plt>
  nopl   0x0(%rax)
  lea    D100(%rip),%rdi
  jmp    1050 <printf@plt>
  nopl   0x0(%rax)
  lea    D26(%rip),%rdi
  jmp    1050 <printf@plt>
  nopl   0x0(%rax)
  lea    D117(%rip),%rdi
  jmp    1050 <printf@plt>
  nopl   0x0(%rax)
  lea    D157(%rip),%rdi
  jmp    1050 <printf@plt>
  nopl   0x0(%rax)
  lea    D158(%rip),%rdi
  jmp    1050 <printf@plt>
  nopl   0x0(%rax)
  lea    D73(%rip),%rdi
  jmp    1050 <printf@plt>
  nopl   0x0(%rax)
  lea    D24(%rip),%rdi
  jmp    1050 <printf@plt>
  nopl   0x0(%rax)
  lea    D72(%rip),%rdi
  jmp    1050 <printf@plt>
  nopl   0x0(%rax)
  lea    D96(%rip),%rdi
  jmp    1050 <printf@plt>
  nopl   0x0(%rax)
  lea    D137(%rip),%rdi
  jmp    1050 <printf@plt>
L2:
  lea    D131(%rip),%rdi
  jmp    1050 <printf@plt>
```

tool_calls: name: read_data
arguments: data_tag: D129
datatype: string
name: read_data
arguments: data_tag: D67
datatype: string
name: read_data
arguments: data_tag: D63
datatype: string
name: read_data
arguments: data_tag: D54
datatype: string
name: read_data
arguments: data_tag: D100
datatype: string
name: read_data
arguments: data_tag: D26
datatype: string
name: read_data
arguments: data_tag: D117
datatype: string
name: read_data
arguments: data_tag: D157
datatype: string
name: read_data
arguments: data_tag: D158
datatype: string
name: read_data
arguments: data_tag: D73
datatype: string
name: read_data
arguments: data_tag: D24
datatype: string
name: read_data
arguments: data_tag: D72
datatype: string
name: read_data
arguments: data_tag: D96
datatype: string
name: read_data
arguments: data_tag: D137
datatype: string
name: read_data
arguments: data_tag: D131
datatype: string

tool: D129: <FINAL>


tool: D67: <INTEIRO>


tool: D63: <VAR>


tool: D54: <ATT>


tool: D100: <READ>


tool: D26: <WRITE>


tool: D117: <STRING>


tool: D157: <SEP>


tool: D158: <SOMA>


tool: D73: <SUB>


tool: D24: <DIV>


tool: D72: <MULT>


tool: D96: <RESTO>


tool: D137: <NUM>


tool: D131: <ERRO>


assistant: ```c
void exibeToken(int token) {
  switch (token) {
  case 1:
    printf("<INTEIRO>\n");
    break;
  case 2:
    printf("<VAR>\n");
    break;
  case 3:
    printf("<ATT>\n");
    break;
  case 4:
    printf("<READ>\n");
    break;
  case 5:
    printf("<WRITE>\n");
    break;
  case 6:
    printf("<STRING>\n");
    break;
  case 7:
    printf("<SEP>\n");
    break;
  case 8:
    printf("<SOMA>\n");
    break;
  case 9:
    printf("<SUB>\n");
    break;
  case 10:
    printf("<DIV>\n");
    break;
  case 11:
    printf("<MULT>\n");
    break;
  case 12:
    printf("<RESTO>\n");
    break;
  case 13:
    printf("<NUM>\n");
    break;
  case 14:
    printf("<FINAL>\n");
    break;
  default:
    printf("<ERRO>\n");
    break;
  }
}
```