// File: /workspace/github_cpp_makefile_star2_O3/fondoger[P]C0-Compiler/src/symbol.cpp
// Function: nextch()
static bool nextch() 
{
    if (g_pos == g_line.size()) {
        if (!safeGetline(source_stream, g_line)) {
            if (check_remaining_flag) {
                return false;
            }
            error(ERR_PROGRAM_INCOMPLETE);
            printCachedErrors();
            std::exit(1);
        }
        g_line.push_back('\n');
        
        g_pos = 0;
        g_line_no++;

        std::cout << std::setw(4) << (int)g_line_no 
            << " " << g_line;
    } 
    ch = g_line[g_pos];
    g_pos++;
    return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
movl 0xf3fa(%rip), %eax      # 0x296a0
cmpq %rax, 0xf3db(%rip)      # 0x29688
jne 0x1a419
movq $0x0, 0xf3ca(%rip) # 0x29688
movq 0xf3bb(%rip), %rax      # 0x29680
movb $0x0, (%rax)
leaq 0xbdb9(%rip), %rbx      # 0x26088
leaq -0x19(%rbp), %rdi
movq %rbx, %rsi
movl $0x1, %edx
callq 0x3410
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq 0xe8(%rbx,%rax), %r14
leaq 0xf38a(%rip), %r15      # 0x29680
movq 0x10(%r14), %rcx
cmpq 0x18(%r14), %rcx
jae 0x1a326
movzbl (%rcx), %eax
incq %rcx
movq %rcx, 0x10(%r14)
cmpl $-0x1, %eax
je 0x1a331
cmpl $0xa, %eax
je 0x1a37f
cmpl $0xd, %eax
je 0x1a354
movsbl %al, %esi
movq %r15, %rdi
callq 0x3250
jmp 0x1a2f6
movq (%r14), %rax
movq %r14, %rdi
callq *0x50(%rax)
jmp 0x1a30a
cmpq $0x0, 0xf34f(%rip)      # 0x29688
jne 0x1a37f
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %rdi
movl 0x20(%rbx,%rax), %esi
orl $0x2, %esi
callq 0x3460
jmp 0x1a37f
movq 0x10(%r14), %rax
cmpq 0x18(%r14), %rax
jae 0x1a43e
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x1a37f
movq 0x10(%r14), %rax
cmpq 0x18(%r14), %rax
jae 0x1a44c
incq %rax
movq %rax, 0x10(%r14)
movq (%rbx), %rax
movq -0x18(%rax), %rax
testb $0x5, 0x20(%rbx,%rax)
je 0x1a3a1
cmpb $0x0, 0xf318(%rip)      # 0x296ac
je 0x1a45a
xorl %eax, %eax
jmp 0x1a433
leaq 0xf2d8(%rip), %rdi      # 0x29680
movl $0xa, %esi
callq 0x3250
movl $0x0, 0xf2e4(%rip)      # 0x296a0
movl 0xf2e2(%rip), %esi      # 0x296a4
incl %esi
movl %esi, 0xf2da(%rip)      # 0x296a4
movq 0x8bff(%rip), %rdi      # 0x22fd0
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0x4, 0x10(%rdi,%rax)
callq 0x3470
movq %rax, %rbx
leaq 0x288c(%rip), %rsi      # 0x1cc7c
movl $0x1, %edx
movq %rax, %rdi
callq 0x3340
movq 0xf27c(%rip), %rsi      # 0x29680
movq 0xf27d(%rip), %rdx      # 0x29688
movq %rbx, %rdi
callq 0x3340
movl 0xf287(%rip), %eax      # 0x296a0
movq 0xf260(%rip), %rcx      # 0x29680
movb (%rcx,%rax), %cl
movb %cl, 0x8e57(%rip)       # 0x23280
incl %eax
movl %eax, 0xf26f(%rip)      # 0x296a0
movb $0x1, %al
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq (%r14), %rax
movq %r14, %rdi
callq *0x48(%rax)
jmp 0x1a365
movq (%r14), %rax
movq %r14, %rdi
callq *0x50(%rax)
jmp 0x1a37f
leaq -0x30(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x2e78(%rip), %rsi      # 0x1d2e1
leaq 0x2e83(%rip), %rdx      # 0x1d2f3
leaq -0x40(%rbp), %rbx
movq %rbx, %rdi
callq 0x14396
movq %rbx, %rdi
callq 0xdccb
leaq -0x40(%rbp), %rdi
callq 0x34d8
callq 0xd6dc
movl $0x1, %edi
callq 0x3360
movq %rax, %rbx
movq -0x40(%rbp), %rdi
cmpq %r14, %rdi
je 0x1a4ad
callq 0x32a0
movq %rbx, %rdi
callq 0x3480