// File: ryuichiueda[P]GlueLang/src/Feeder.cc
// Function: Feeder::fileNameSegment(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*)
bool Feeder::fileNameSegment(string *ans)
{
	if(outOfRange())
		return false;

	string *p = &m_lines[m_cur_line];
	int i = m_cur_char;
	for(;i < (int)p->length();i++){
		if( p->at(i) >= '@' && p->at(i) <= 'Z')
			continue;
		if( p->at(i) == '_' || p->at(i) == '-')
			continue;
		if( p->at(i) >= 'a' && p->at(i) <= 'z')
			continue;
		if( p->at(i) >= '0' && p->at(i) <= '9')
			continue;

		break;
	}

	if(i == m_cur_char)
		return false;

	*ans = string(p->c_str()+m_cur_char,i-m_cur_char);
	m_cur_char = i;
	checkEol(p);
	return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x163e0
testb $0x1, %al
jne 0x16626
jmp 0x1662f
movb $0x0, -0x1(%rbp)
jmp 0x167e7
movq -0x68(%rbp), %rax
movq %rax, %rdi
addq $0x8, %rdi
movslq 0x20(%rax), %rsi
callq 0xb680
movq %rax, %rcx
movq -0x68(%rbp), %rax
movq %rcx, -0x20(%rbp)
movl 0x24(%rax), %eax
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %eax
movl %eax, -0x6c(%rbp)
movq -0x20(%rbp), %rdi
callq 0x6620
movq %rax, %rcx
movl -0x6c(%rbp), %eax
cmpl %ecx, %eax
jge 0x16734
movq -0x20(%rbp), %rdi
movslq -0x24(%rbp), %rsi
callq 0x6770
movsbl (%rax), %eax
cmpl $0x40, %eax
jl 0x166a0
movq -0x20(%rbp), %rdi
movslq -0x24(%rbp), %rsi
callq 0x6770
movsbl (%rax), %eax
cmpl $0x5a, %eax
jg 0x166a0
jmp 0x16726
movq -0x20(%rbp), %rdi
movslq -0x24(%rbp), %rsi
callq 0x6770
movsbl (%rax), %eax
cmpl $0x5f, %eax
je 0x166ca
movq -0x20(%rbp), %rdi
movslq -0x24(%rbp), %rsi
callq 0x6770
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x166cc
jmp 0x16726
movq -0x20(%rbp), %rdi
movslq -0x24(%rbp), %rsi
callq 0x6770
movsbl (%rax), %eax
cmpl $0x61, %eax
jl 0x166f8
movq -0x20(%rbp), %rdi
movslq -0x24(%rbp), %rsi
callq 0x6770
movsbl (%rax), %eax
cmpl $0x7a, %eax
jg 0x166f8
jmp 0x16726
movq -0x20(%rbp), %rdi
movslq -0x24(%rbp), %rsi
callq 0x6770
movsbl (%rax), %eax
cmpl $0x30, %eax
jl 0x16724
movq -0x20(%rbp), %rdi
movslq -0x24(%rbp), %rsi
callq 0x6770
movsbl (%rax), %eax
cmpl $0x39, %eax
jg 0x16724
jmp 0x16726
jmp 0x16734
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x16654
movq -0x68(%rbp), %rcx
movl -0x24(%rbp), %eax
cmpl 0x24(%rcx), %eax
jne 0x16749
movb $0x0, -0x1(%rbp)
jmp 0x167e7
movq -0x20(%rbp), %rdi
callq 0x6190
movq -0x68(%rbp), %rcx
movslq 0x24(%rcx), %rdx
movl %edx, %ecx
addq %rdx, %rax
movq %rax, -0x88(%rbp)
movl -0x24(%rbp), %eax
subl %ecx, %eax
cltq
movq %rax, -0x80(%rbp)
leaq -0x49(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x6710
movq -0x88(%rbp), %rsi
movq -0x80(%rbp), %rdx
movq -0x78(%rbp), %rcx
leaq -0x48(%rbp), %rdi
callq 0x64c0
jmp 0x16798
movq -0x18(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x6520
leaq -0x48(%rbp), %rdi
callq 0x6280
leaq -0x49(%rbp), %rdi
callq 0x6480
movq -0x68(%rbp), %rdi
movl -0x24(%rbp), %eax
movl %eax, 0x24(%rdi)
movq -0x20(%rbp), %rsi
callq 0x165b0
movb $0x1, -0x1(%rbp)
jmp 0x167e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x49(%rbp), %rdi
callq 0x6480
jmp 0x167f5
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x90, %rsp
popq %rbp
retq
movq -0x58(%rbp), %rdi
callq 0x6700
nop