// File: /workspace/github_c_makefile_star2_O0/hikalium[P]compilium/compilium.c
// Function: PrintTokenLine
void PrintTokenLine(struct Node *t) {
  assert(t);
  const char *line_begin = t->begin;
  while (t->src_str < line_begin) {
    if (line_begin[-1] == '\n') break;
    line_begin--;
  }

  fprintf(stderr, "Line %d:\n", t->line);

  for (const char *p = line_begin; *p && *p != '\n'; p++) {
    fputc(*p <= ' ' ? ' ' : *p, stderr);
  }
  fputc('\n', stderr);
  const char *p;
  for (p = line_begin; p < t->begin; p++) {
    fputc(' ', stderr);
  }
  for (int i = 0; i < t->length; i++) {
    fputc('^', stderr);
    p++;
  }
  for (; *p && *p != '\n'; p++) {
    fputc(' ', stderr);
  }
  fputc('\n', stderr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x4b7b
leaq 0xc99b(%rip), %rdi      # 0x11505
leaq 0xba0b(%rip), %rsi      # 0x1057c
movl $0x3f, %edx
callq 0x4b20
movq -0x8(%rbp), %rax
movq 0x118(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x128(%rax), %rax
cmpq -0x10(%rbp), %rax
jae 0x4bb8
movq -0x10(%rbp), %rax
movsbl -0x1(%rax), %eax
cmpl $0xa, %eax
jne 0x4baa
jmp 0x4bb8
movq -0x10(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x4b8a
movq 0x10439(%rip), %rax     # 0x14ff8
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movl 0x130(%rax), %edx
leaq 0xb9b5(%rip), %rsi      # 0x10588
movb $0x0, %al
callq 0x2100
movq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x25(%rbp)
je 0x4c03
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0xa, %eax
setne %al
movb %al, -0x25(%rbp)
movb -0x25(%rbp), %al
testb $0x1, %al
jne 0x4c0c
jmp 0x4c4c
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x20, %eax
jg 0x4c22
movl $0x20, %eax
movl %eax, -0x2c(%rbp)
jmp 0x4c2c
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %edi
movq 0x103c2(%rip), %rax     # 0x14ff8
movq (%rax), %rsi
callq 0x20c0
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x4be2
movq 0x103a5(%rip), %rax     # 0x14ff8
movq (%rax), %rsi
movl $0xa, %edi
callq 0x20c0
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x118(%rcx), %rax
jae 0x4c9b
movq 0x10378(%rip), %rax     # 0x14ff8
movq (%rax), %rsi
movl $0x20, %edi
callq 0x20c0
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x4c68
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x120(%rcx), %eax
jge 0x4cdc
movq 0x10340(%rip), %rax     # 0x14ff8
movq (%rax), %rsi
movl $0x5e, %edi
callq 0x20c0
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x4ca2
jmp 0x4cde
movq -0x20(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x2d(%rbp)
je 0x4cff
movq -0x20(%rbp), %rax
movsbl (%rax), %eax
cmpl $0xa, %eax
setne %al
movb %al, -0x2d(%rbp)
movb -0x2d(%rbp), %al
testb $0x1, %al
jne 0x4d08
jmp 0x4d2a
movq 0x102e9(%rip), %rax     # 0x14ff8
movq (%rax), %rsi
movl $0x20, %edi
callq 0x20c0
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x4cde
movq 0x102c7(%rip), %rax     # 0x14ff8
movq (%rax), %rsi
movl $0xa, %edi
callq 0x20c0
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)