// File: /workspace/github_cpp_makefile_star2_O1/ClauParser[P]ClauParser/./include/clau_parser.h
// Function: clau_parser::InFileReserver::Scanning(char*, unsigned long, long*&, unsigned long&)
static void Scanning(char* text, const size_t length,
			int64_t*& _token_arr, size_t& _token_arr_size) {

			int64_t* token_arr = new int64_t[length + 1];
			size_t token_arr_size = 0;

			{
				int state = 0;

				int64_t token_first = 0;
				int64_t token_last = -1;

				size_t token_arr_count = 0;

				for (size_t i = 0; i <= length; ++i) {
					const char ch = text[i];

					if (0 == state) {
						if (LoadDataOption::LineComment == ch) {
							token_last = i - 1;
							if (token_last - token_first + 1 > 0) {
								token_arr[token_arr_count] = Utility::Get(token_first, token_last - token_first + 1, text[token_first]);
								token_arr_count++;
							}

							state = 3;
						}
						else if ('\"' == ch) {
							token_last = i - 1;
							if (token_last - token_first + 1 > 0) {
								token_arr[token_arr_count] = Utility::Get(token_first, token_last - token_first + 1, text[token_first]);
								token_arr_count++;
							}

							token_first = i;
							token_last = i;

							state = 1;
						}
						else if (Utility::isWhitespace(ch) || '\0' == ch) {
							token_last = i - 1;
							if (token_last - token_first + 1 > 0) {
								token_arr[token_arr_count] = Utility::Get(token_first, token_last - token_first + 1, text[token_first]);
								token_arr_count++;
							}
							token_first = i + 1;
							token_last = i + 1;
						}
						else if (LoadDataOption::Left == ch) {
							token_last = i - 1;
							if (token_last - token_first + 1 > 0) {
								token_arr[token_arr_count] = Utility::Get(token_first, token_last - token_first + 1, text[token_first]);
								token_arr_count++;
							}

							token_first = i;
							token_last = i;

							token_arr[token_arr_count] = Utility::Get(token_first, token_last - token_first + 1, text[token_first]);
							token_arr_count++;

							token_first = i + 1;
							token_last = i + 1;
						}
						else if (LoadDataOption::Right == ch) {
							token_last = i - 1;
							if (token_last - token_first + 1 > 0) {
								token_arr[token_arr_count] = Utility::Get(token_first, token_last - token_first + 1, text[token_first]);
								token_arr_count++;
							}
							token_first = i;
							token_last = i;

							token_arr[token_arr_count] = Utility::Get(token_first, token_last - token_first + 1, text[token_first]);
							token_arr_count++;

							token_first = i + 1;
							token_last = i + 1;

						}
						else if (LoadDataOption::Assignment == ch) {
							token_last = i - 1;
							if (token_last - token_first + 1 > 0) {
								token_arr[token_arr_count] = Utility::Get(token_first, token_last - token_first + 1, text[token_first]);
								token_arr_count++;
							}
							token_first = i;
							token_last = i;

							token_arr[token_arr_count] = Utility::Get(token_first, token_last - token_first + 1, text[token_first]);
							token_arr_count++;

							token_first = i + 1;
							token_last = i + 1;
						}
					}
					else if (1 == state) {
						if ('\\' == ch) {
							state = 2;
						}
						else if ('\"' == ch) {
							token_last = i;

							token_arr[token_arr_count] = Utility::Get(token_first, token_last - token_first + 1, text[token_first]);
							token_arr_count++;

							token_first = i + 1;
							token_last = i + 1;

							state = 0;
						}
					}
					else if (2 == state) {
						state = 1;
					}
					else if (3 == state) {
						if ('\n' == ch || '\0' == ch) {
							state = 0;

							token_first = i + 1;
							token_last = i + 1;
						}
					}
				}

				token_arr_size = token_arr_count;

				if (0 != state) {
					//std::cout << "[" << state << "] state is not zero.\n";
				}
			}

			{
				_token_arr = token_arr;
				_token_arr_size = token_arr_size;
			}
		}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rcx, %r14
movq %rdx, 0x10(%rsp)
movq %rsi, %r15
movq %rdi, %r12
movl $0xfffffff8, %r13d      # imm = 0xFFFFFFF8
leaq 0x1(%rsi), %rbx
movq %rbx, %rax
shrq $0x3d, %rax
leaq 0x8(,%rsi,8), %rcx
xorl %ebp, %ebp
negq %rax
movl $0x0, %edi
sbbq %rdi, %rdi
orq %rcx, %rdi
callq 0x2040
cmpq $0x1, %rbx
adcq $0x1, %r15
movl $0x8, %ecx
movl $0x8, %esi
xorl %edx, %edx
xorl %r8d, %r8d
xorl %r10d, %r10d
movl $0x1, %edi
cmpl $0x2, %r10d
je 0x69f3
movzbl (%r12,%rbp), %r9d
cmpl $0x1, %r10d
je 0x6875
testl %r10d, %r10d
jne 0x68d2
movb $0x1, %r10b
cmpl $0x1f, %r9d
jg 0x6917
leal -0x9(%r9), %edi
cmpl $0x5, %edi
jae 0x69a1
testb %r10b, %r10b
jne 0x68ef
testb %r9b, %r9b
je 0x68ef
xorl %edi, %edi
cmpl $0x3d, %r9d
je 0x684d
cmpl $0x7d, %r9d
je 0x684d
cmpl $0x7b, %r9d
jne 0x69f3
movq %rbp, %r10
subq %r8, %r10
testq %r10, %r10
jle 0x6a5c
movq %r10, %r11
decq %r11
je 0x6a12
shlq $0x20, %r8
leaq (%r8,%r10,8), %r8
jmp 0x6a55
cmpl $0x5c, %r9d
je 0x695d
cmpl $0x22, %r9d
jne 0x69f3
movq %rbp, %rdi
subq %r8, %rdi
jne 0x6967
movb (%r12,%r8), %dil
xorl %r9d, %r9d
cmpb $0x7b, %dil
sete %r9b
xorl %r10d, %r10d
cmpb $0x7d, %dil
sete %r10b
shll $0x2, %r10d
leaq 0x6(%r10), %r11
cmpb $0x3d, %dil
cmovneq %r10, %r11
leaq (%r11,%r9,2), %rdi
imulq %r13, %r8
addq %rsi, %r8
addq %rdi, %r8
jmp 0x6973
cmpl $0xa, %r9d
je 0x69ed
movl $0x3, %edi
testl %r9d, %r9d
je 0x69ed
jmp 0x69f3
movq %rbp, %rdi
subq %r8, %rdi
testq %rdi, %rdi
jle 0x69ed
movq %rdi, %r9
decq %r9
je 0x69a9
shlq $0x20, %r8
leaq (%r8,%rdi,8), %rdi
jmp 0x69e6
cmpl $0x20, %r9d
je 0x6823
cmpl $0x22, %r9d
je 0x6979
cmpl $0x23, %r9d
jne 0x69a1
movq %rbp, %r9
subq %r8, %r9
movl $0x3, %edi
testq %r9, %r9
jle 0x69f3
movq %r9, %r10
decq %r10
je 0x6a99
movq %r8, %r10
shlq $0x20, %r10
leaq (%r10,%r9,8), %r9
jmp 0x6ad9
movl $0x2, %edi
jmp 0x69f3
shlq $0x20, %r8
leaq (%r8,%rdi,8), %r8
addq $0x8, %r8
movq %r8, (%rax,%rdx,8)
jmp 0x69ea
movq %rbp, %r9
subq %r8, %r9
testq %r9, %r9
jle 0x6b28
movq %r9, %r10
decq %r10
je 0x6ae5
shlq $0x20, %r8
leaq (%r8,%r9,8), %r8
jmp 0x6b21
xorl %r10d, %r10d
jmp 0x6823
movb (%r12,%r8), %dil
xorl %r9d, %r9d
cmpb $0x7b, %dil
sete %r9b
xorl %r10d, %r10d
cmpb $0x7d, %dil
sete %r10b
shll $0x2, %r10d
leaq 0x6(%r10), %r11
cmpb $0x3d, %dil
cmovneq %r10, %r11
leaq (%r11,%r9,2), %rdi
imulq %r13, %r8
addq %rdi, %r8
leaq (%rsi,%r8), %rdi
addq $-0x8, %rdi
movq %rdi, (%rax,%rdx,8)
incq %rdx
leaq 0x1(%rbp), %r8
xorl %edi, %edi
incq %rbp
addq $0x8, %rsi
addq %r13, %rcx
addq $0x8, %rcx
movl %edi, %r10d
cmpq %rbp, %r15
jne 0x67e6
jmp 0x6b30
movb (%r12,%r8), %r10b
xorl %r11d, %r11d
cmpb $0x7b, %r10b
sete %r11b
xorl %ebx, %ebx
cmpb $0x7d, %r10b
sete %bl
shll $0x2, %ebx
movq %r14, 0x8(%rsp)
leaq 0x6(%rbx), %r14
cmpb $0x3d, %r10b
cmovneq %rbx, %r14
leaq (%r14,%r11,2), %r10
movq 0x8(%rsp), %r14
imulq %r13, %r8
addq %r10, %r8
addq %rsi, %r8
addq $-0x8, %r8
movq %r8, (%rax,%rdx,8)
incq %rdx
xorl %r8d, %r8d
cmpl $0x7b, %r9d
sete %r8b
xorl %r10d, %r10d
cmpl $0x7d, %r9d
sete %r10b
shll $0x2, %r10d
leaq 0x6(%r10), %r11
cmpl $0x3d, %r9d
cmovneq %r10, %r11
leaq (%r11,%r8,2), %r8
addq %rcx, %r8
movq %r8, (%rax,%rdx,8)
incq %rdx
leaq 0x1(%rbp), %r8
jmp 0x69f3
movb (%r12,%r8), %r9b
xorl %r10d, %r10d
cmpb $0x7b, %r9b
sete %r10b
xorl %r11d, %r11d
cmpb $0x7d, %r9b
sete %r11b
shll $0x2, %r11d
leaq 0x6(%r11), %rbx
cmpb $0x3d, %r9b
cmovneq %r11, %rbx
leaq (%rbx,%r10,2), %r9
movq %r8, %r10
imulq %r13, %r10
addq %r9, %r10
leaq (%rsi,%r10), %r9
addq $-0x8, %r9
movq %r9, (%rax,%rdx,8)
incq %rdx
jmp 0x69f3
movb (%r12,%r8), %r9b
xorl %r10d, %r10d
cmpb $0x7b, %r9b
sete %r10b
xorl %r11d, %r11d
cmpb $0x7d, %r9b
sete %r11b
shll $0x2, %r11d
leaq 0x6(%r11), %rbx
cmpb $0x3d, %r9b
cmovneq %r11, %rbx
leaq (%rbx,%r10,2), %r9
imulq %r13, %r8
addq %r9, %r8
addq %rsi, %r8
addq $-0x8, %r8
movq %r8, (%rax,%rdx,8)
incq %rdx
movq %rbp, %r8
jmp 0x69f3
movq 0x10(%rsp), %rcx
movq %rax, (%rcx)
movq %rdx, (%r14)
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq