// File: /workspace/github_cpp_makefile_star2_O1/vsklad[P]cgen/./bal/io/textreader.hpp
// Function: TextReader::load_next_token()
void load_next_token() {
        // current_token_len_ > 0 means the token is loaded already
        if (!is_eol() && current_token_len_ == 0) {
            if (current_token_pos_ + current_token_len_ < current_line_.size()) {
                switch(current_line_[current_token_pos_ + current_token_len_]) {
                    case '0':
                        if (current_token_pos_ + current_token_len_ + 1 < current_line_.size()) {
                            switch(current_line_[current_token_pos_ + current_token_len_ + 1]) {
                                case 'x':
                                case 'X':
                                    current_token_type_ = ttHex;
                                    parse_hex();
                                    break;
                                case 'b':
                                case 'B':
                                    current_token_type_ = ttBin;
                                    parse_bin();
                                    break;
                                default:
                                    current_token_type_ = ttDec;
                                    parse_dec();
                                    break;
                            };
                        } else {
                            current_token_type_ = ttDec;
                            current_token_len_= 1;
                        };
                        break;
                    case '1'...'9':
                        current_token_type_ = ttDec;
                        parse_dec();
                        break;
                    case 'a'...'z':
                    case 'A'...'Z':
                    case '_':
                        current_token_type_ = ttLiteral;
                        parse_literal();
                        break;
                    case '"':
                        current_token_type_ = ttQuoted;
                        parse_quoted('"');
                        break;
                    case ' ':
                    case '\t':
                        current_token_type_ = ttUnknown;
                        break;
                    default:
                        current_token_type_ = ttSymbol;
                        current_token_len_++;
                        break;
                };
            } else {
                current_token_type_ = ttUnknown;
            };
        };
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
cmpq $0x0, 0x38(%rdi)
jne 0x1eb2e
movq (%rbx), %rax
movq %rbx, %rdi
callq *(%rax)
leaq 0x18(%rbx), %rsi
testb %al, %al
je 0x1eb1a
movq 0x20(%rbx), %rdx
leaq 0x2f2c9(%rip), %rcx     # 0x4ddd4
movq %rsi, %rdi
xorl %esi, %esi
xorl %r8d, %r8d
callq 0xc410
jmp 0x1eb27
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x8(%rax)
incq 0x38(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rbx)
movq 0x8(%rbx), %rax
movq 0x20(%rbx), %rdx
leaq -0x1(%rdx), %rcx
cmpq %rcx, %rax
jne 0x1eb50
movq 0x18(%rbx), %rcx
cmpb $0xd, (%rcx,%rax)
jne 0x1eb50
incq %rax
movq %rax, 0x8(%rbx)
movq 0x8(%rbx), %rsi
movq %rsi, %rax
subq %rdx, %rax
jae 0x1ec19
cmpq $0x0, 0x10(%rbx)
jne 0x1ec19
movq 0x20(%rbx), %rdi
cmpq %rdi, %rsi
jae 0x1ec12
movq 0x18(%rbx), %rcx
movzbl (%rcx,%rsi), %r8d
addl $-0x9, %r8d
cmpl $0x71, %r8d
ja 0x1ec6a
leaq 0x2876a(%rip), %r9      # 0x47300
movslq (%r9,%r8,4), %r8
addq %r9, %r8
jmpq *%r8
movl $0x5, 0x40(%rbx)
movq $0x1, 0x10(%rbx)
leaq 0x1(%rsi), %rdi
cmpq %rdx, %rdi
jae 0x1ec19
addq %rsi, %rcx
incq %rax
movl $0x2, %edx
movb -0x1(%rcx,%rdx), %sil
leal -0x30(%rsi), %edi
cmpb $0xa, %dil
setb %dil
leal -0x41(%rsi), %r8d
cmpb $0x1a, %r8b
setb %r8b
orb %dil, %r8b
jne 0x1ebfc
leal -0x61(%rsi), %edi
cmpb $0x1a, %dil
setae %dil
cmpb $0x5f, %sil
setne %sil
testb %dil, %sil
jne 0x1ec19
movq %rdx, 0x10(%rbx)
leaq (%rax,%rdx), %rsi
incq %rsi
incq %rdx
cmpq $0x2, %rsi
jne 0x1ebc3
jmp 0x1ec19
movl $0x0, 0x40(%rbx)
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
movl $0x7, 0x40(%rbx)
movq %rbx, %rdi
movl $0x22, %esi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x1f026
incq %rsi
cmpq %rdi, %rsi
jae 0x1ec73
movzbl (%rcx,%rsi), %eax
cmpl $0x61, %eax
jg 0x1ec84
cmpl $0x42, %eax
je 0x1eca3
cmpl $0x58, %eax
je 0x1ec8e
movl $0x1, 0x40(%rbx)
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x1ef48
movl $0x6, 0x40(%rbx)
jmp 0x1ec7a
movl $0x1, 0x40(%rbx)
movq $0x1, 0x10(%rbx)
jmp 0x1ec19
cmpl $0x62, %eax
je 0x1eca3
cmpl $0x78, %eax
jne 0x1ec55
movl $0x3, 0x40(%rbx)
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x1ecb8
movl $0x4, 0x40(%rbx)
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x1ee0c