// File: /workspace/github_cpp_makefile_star2_O1/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 0xf2d3(%rip), %eax      # 0x296a0
cmpq %rax, 0xf2b4(%rip)      # 0x29688
jne 0x1a53a
movq $0x0, 0xf2a3(%rip) # 0x29688
movq 0xf294(%rip), %rax      # 0x29680
movb $0x0, (%rax)
leaq 0xbc92(%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 0xf263(%rip), %r15      # 0x29680
movq 0x10(%r14), %rcx
cmpq 0x18(%r14), %rcx
jae 0x1a44d
movzbl (%rcx), %eax
incq %rcx
movq %rcx, 0x10(%r14)
cmpl $-0x1, %eax
je 0x1a458
cmpl $0xa, %eax
je 0x1a4a6
cmpl $0xd, %eax
je 0x1a47b
movsbl %al, %esi
movq %r15, %rdi
callq 0x3250
jmp 0x1a41d
movq (%r14), %rax
movq %r14, %rdi
callq *0x50(%rax)
jmp 0x1a431
cmpq $0x0, 0xf228(%rip)      # 0x29688
jne 0x1a4a6
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %rdi
movl 0x20(%rbx,%rax), %esi
orl $0x2, %esi
callq 0x3460
jmp 0x1a4a6
movq 0x10(%r14), %rax
cmpq 0x18(%r14), %rax
jae 0x1a565
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x1a4a6
movq 0x10(%r14), %rax
cmpq 0x18(%r14), %rax
jae 0x1a573
incq %rax
movq %rax, 0x10(%r14)
movq (%rbx), %rax
movq -0x18(%rax), %rax
testb $0x5, 0x20(%rbx,%rax)
je 0x1a4c8
cmpb $0x0, 0xf1f1(%rip)      # 0x296ac
je 0x1a581
xorl %eax, %eax
jmp 0x1a55a
leaq 0xf1b1(%rip), %rdi      # 0x29680
movl $0xa, %esi
callq 0x3250
movl $0x0, 0xf1bd(%rip)      # 0x296a0
movl 0xf1bb(%rip), %esi      # 0x296a4
incl %esi
movl %esi, 0xf1b3(%rip)      # 0x296a4
movq 0x8ad8(%rip), %rdi      # 0x22fd0
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0x4, 0x10(%rdi,%rax)
callq 0x3470
movq %rax, %rbx
leaq 0x27a5(%rip), %rsi      # 0x1ccbc
movl $0x1, %edx
movq %rax, %rdi
callq 0x3340
movq 0xf155(%rip), %rsi      # 0x29680
movq 0xf156(%rip), %rdx      # 0x29688
movq %rbx, %rdi
callq 0x3340
movl 0xf160(%rip), %eax      # 0x296a0
movq 0xf139(%rip), %rcx      # 0x29680
movb (%rcx,%rax), %cl
movb %cl, 0x8d30(%rip)       # 0x23280
incl %eax
movl %eax, 0xf148(%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 0x1a48c
movq (%r14), %rax
movq %r14, %rdi
callq *0x50(%rax)
jmp 0x1a4a6
leaq -0x30(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x2db9(%rip), %rsi      # 0x1d349
leaq 0x2dc4(%rip), %rdx      # 0x1d35b
leaq -0x40(%rbp), %rbx
movq %rbx, %rdi
callq 0x14454
movq %rbx, %rdi
callq 0xdcc8
leaq -0x40(%rbp), %rdi
callq 0x34d8
callq 0xd6dc
movl $0x1, %edi
callq 0x3360
movq %rax, %rbx
movq -0x40(%rbp), %rdi
cmpq %r14, %rdi
je 0x1a5d4
callq 0x32a0
movq %rbx, %rdi
callq 0x3480