// File: /workspace/github_cpp_makefile_star2_O2/ClauParser[P]ClauParser/./include/clau_parser.h
// Function: clau_parser::InFileReserver::_Scanning(char*, long, long, long*&, unsigned long&)
static void _Scanning(char* text, int64_t num, const int64_t length,
			int64_t*& token_arr, size_t& _token_arr_size) {

			size_t token_arr_size = 0;

			{

				int64_t token_first = 0;
				int64_t token_last = -1;

				size_t token_arr_count = 0;

				for (int64_t i = 0; i < length; ++i) {
					const char ch = text[i];

					switch (ch) {
					case '\"':
						token_last = i - 1;
						if (token_last - token_first + 1 > 0) {
							token_arr[num + token_arr_count] = Utility::Get(token_first + num, token_last - token_first + 1, text[token_first]);
							token_arr_count++;
						}

						token_first = i;
						token_last = i;

						token_first = i + 1;
						token_last = i + 1;

						{//
							token_arr[num + token_arr_count] = 1;
							token_arr[num + token_arr_count] += Utility::Get(i + num, 1, ch);
							token_arr_count++;
						}
						break;
					case '\\':
					{//
						token_arr[num + token_arr_count] = 1;
						token_arr[num + token_arr_count] += Utility::Get(i + num, 1, ch);
						token_arr_count++;
					}
					break;
					case '\n':
						token_last = i - 1;
						if (token_last - token_first + 1 > 0) {
							token_arr[num + token_arr_count] = Utility::Get(token_first + num, token_last - token_first + 1, text[token_first]);
							token_arr_count++;
						}
						token_first = i + 1;
						token_last = i + 1;

						{//
							token_arr[num + token_arr_count] = 1;
							token_arr[num + token_arr_count] += Utility::Get(i + num, 1, ch);
							token_arr_count++;
						}
						break;
					case '\0':
						token_last = i - 1;
						if (token_last - token_first + 1 > 0) {
							token_arr[num + token_arr_count] = Utility::Get(token_first + num, token_last - token_first + 1, text[token_first]);
							token_arr_count++;
						}
						token_first = i + 1;
						token_last = i + 1;

						{//
							token_arr[num + token_arr_count] = 1;
							token_arr[num + token_arr_count] += Utility::Get(i + num, 1, ch);
							token_arr_count++;
						}
						break;
					case  LoadDataOption::LineComment:
						token_last = i - 1;
						if (token_last - token_first + 1 > 0) {
							token_arr[num + token_arr_count] = Utility::Get(token_first + num, token_last - token_first + 1, text[token_first]);
							token_arr_count++;
						}
						token_first = i + 1;
						token_last = i + 1;

						{//
							token_arr[num + token_arr_count] = 1;
							token_arr[num + token_arr_count] += Utility::Get(i + num, 1, ch);
							token_arr_count++;
						}

						break;
					case ' ':
					case '\t':
					case '\r':
					case '\v':
					case '\f':
						token_last = i - 1;

						//if (token_last - token_first + 1 > 0) {
						token_arr[num + token_arr_count] = Utility::Get(token_first + num, token_last - token_first + 1, text[token_first]);
						token_arr_count += token_last - token_first + 1 > 0 ? 1 : 0;
						//}
						token_first = i + 1;
						token_last = i + 1;

						break;
					case LoadDataOption::Left:
						token_last = i - 1;
						if (token_last - token_first + 1 > 0) {
							token_arr[num + token_arr_count] = Utility::Get(token_first + num, token_last - token_first + 1, text[token_first]);
							token_arr_count++;
						}

						token_first = i;
						token_last = i;

						token_arr[num + token_arr_count] = Utility::Get(token_first + num, token_last - token_first + 1, text[token_first]);
						token_arr_count++;

						token_first = i + 1;
						token_last = i + 1;
						break;
					case LoadDataOption::Right:
						token_last = i - 1;
						if (token_last - token_first + 1 > 0) {
							token_arr[num + token_arr_count] = Utility::Get(token_first + num, token_last - token_first + 1, text[token_first]);
							token_arr_count++;
						}
						token_first = i;
						token_last = i;

						token_arr[num + token_arr_count] = Utility::Get(token_first + num, token_last - token_first + 1, text[token_first]);
						token_arr_count++;

						token_first = i + 1;
						token_last = i + 1;
						break;
					case LoadDataOption::Assignment:
						token_last = i - 1;
						if (token_last - token_first + 1 > 0) {
							token_arr[num + token_arr_count] = Utility::Get(token_first + num, token_last - token_first + 1, text[token_first]);
							token_arr_count++;
						}
						token_first = i;
						token_last = i;

						token_arr[num + token_arr_count] = Utility::Get(token_first + num, token_last - token_first + 1, text[token_first]);
						token_arr_count++;

						token_first = i + 1;
						token_last = i + 1;
						break;
					}

				}

				if (length - 1 - token_first + 1 > 0) {
					token_arr[num + token_arr_count] = Utility::Get(token_first + num, length - 1 - token_first + 1, text[token_first]);
					token_arr_count++;
				}
				token_arr_size = token_arr_count;
			}

			{
				_token_arr_size = token_arr_size;
			}
		}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %r8, 0x18(%rsp)
movq %rcx, (%rsp)
movq %rsi, %r15
movq %rdi, %r13
xorl %ebx, %ebx
testq %rdx, %rdx
movl $0x0, %eax
movq %rdx, 0x10(%rsp)
cmovgq %rdx, %rax
movq %rax, 0x20(%rsp)
xorl %ebp, %ebp
xorl %r14d, %r14d
movq %rdi, 0x8(%rsp)
cmpq %r14, 0x20(%rsp)
je 0x6811
movzbl (%r13,%r14), %eax
cmpq $0xd, %rax
jbe 0x65a5
cmpl $0x20, %eax
je 0x65b5
cmpl $0x7d, %eax
je 0x66fc
cmpl $0x23, %eax
je 0x66c4
cmpl $0x3d, %eax
je 0x6660
cmpl $0x5c, %eax
je 0x668c
cmpl $0x7b, %eax
je 0x6676
cmpl $0x22, %eax
jne 0x6809
movq %r14, %rsi
subq %rbx, %rsi
testq %rsi, %rsi
jle 0x6782
movsbl (%r13,%rbx), %edx
addq %r15, %rbx
movq %rbx, %rdi
callq 0x6070
movq (%rsp), %r13
movq (%r13), %rcx
leaq (%rcx,%rbp,8), %rdx
movq %rax, (%rdx,%r15,8)
incq %rbp
jmp 0x678a
leaq 0x2a90(%rip), %rcx      # 0x903c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq (%rbx,%r15), %rdi
movq %r14, %r12
subq %rbx, %r12
movsbl (%r13,%rbx), %edx
movq %r12, %rsi
callq 0x6070
leaq (,%rbp,8), %rcx
movq (%rsp), %rdx
addq (%rdx), %rcx
movq %rax, (%rcx,%r15,8)
xorl %eax, %eax
testq %r12, %r12
setg %al
addq %rax, %rbp
jmp 0x6805
movq %r14, %rsi
subq %rbx, %rsi
testq %rsi, %rsi
jle 0x673c
movsbl (%r13,%rbx), %edx
addq %r15, %rbx
movq %rbx, %rdi
callq 0x6070
movq (%rsp), %r13
movq (%r13), %rcx
leaq (%rcx,%rbp,8), %rdx
movq %rax, (%rdx,%r15,8)
incq %rbp
jmp 0x6744
movq %r14, %rsi
subq %rbx, %rsi
testq %rsi, %rsi
jle 0x675f
movsbl (%r13,%rbx), %edx
addq %r15, %rbx
movq %rbx, %rdi
callq 0x6070
movq (%rsp), %r13
movq (%r13), %rcx
leaq (%rcx,%rbp,8), %rdx
movq %rax, (%rdx,%r15,8)
incq %rbp
jmp 0x6767
movq %r14, %rsi
subq %rbx, %rsi
testq %rsi, %rsi
jg 0x670b
movb $0x3d, %al
jmp 0x67e0
movq %r14, %rsi
subq %rbx, %rsi
testq %rsi, %rsi
jg 0x670b
movb $0x7b, %al
jmp 0x67e0
movq (%rsp), %r13
movq (%r13), %rax
leaq (%r15,%rbp), %r12
movq $0x1, (%rax,%r12,8)
leaq (%r15,%r14), %rdi
pushq $0x1
popq %rsi
pushq $0x5c
popq %rdx
callq 0x6070
movq (%r13), %rcx
movq 0x8(%rsp), %r13
addq %rax, (%rcx,%r12,8)
incq %rbp
jmp 0x6809
movq %r14, %rsi
subq %rbx, %rsi
testq %rsi, %rsi
jle 0x67a5
movsbl (%r13,%rbx), %edx
addq %r15, %rbx
movq %rbx, %rdi
callq 0x6070
movq (%rsp), %r13
movq (%r13), %rcx
leaq (%rcx,%rbp,8), %rdx
movq %rax, (%rdx,%r15,8)
incq %rbp
jmp 0x67ad
movq %r14, %rsi
subq %rbx, %rsi
testq %rsi, %rsi
jle 0x67de
movsbl (%r13,%rbx), %edx
addq %r15, %rbx
movq %rbx, %rdi
callq 0x6070
leaq (,%rbp,8), %rcx
movq (%rsp), %rbx
addq (%rbx), %rcx
movq %rax, (%rcx,%r15,8)
incq %rbp
movb (%r13,%r14), %al
jmp 0x67e4
movq (%rsp), %r13
movq (%r13), %rcx
leaq 0x1(%r14), %rbx
leaq (%r15,%rbp), %r12
movq $0x1, (%rcx,%r12,8)
leaq (%r15,%r14), %rdi
pushq $0x1
popq %rsi
xorl %edx, %edx
jmp 0x67c7
movq (%rsp), %r13
movq (%r13), %rcx
leaq 0x1(%r14), %rbx
leaq (%r15,%rbp), %r12
movq $0x1, (%rcx,%r12,8)
leaq (%r15,%r14), %rdi
pushq $0x1
popq %rsi
pushq $0xa
jmp 0x67c6
movq (%rsp), %r13
movq (%r13), %rcx
leaq 0x1(%r14), %rbx
leaq (%r15,%rbp), %r12
movq $0x1, (%rcx,%r12,8)
leaq (%r15,%r14), %rdi
pushq $0x1
popq %rsi
pushq $0x22
jmp 0x67c6
movq (%rsp), %r13
movq (%r13), %rcx
leaq 0x1(%r14), %rbx
leaq (%r15,%rbp), %r12
movq $0x1, (%rcx,%r12,8)
leaq (%r15,%r14), %rdi
pushq $0x1
popq %rsi
pushq $0x23
popq %rdx
callq 0x6070
movq (%r13), %rcx
addq %rax, (%rcx,%r12,8)
incq %rbp
movq 0x8(%rsp), %r13
jmp 0x6809
movb $0x7d, %al
movq (%rsp), %rbx
leaq (%r15,%r14), %rdi
movsbl %al, %edx
pushq $0x1
popq %rsi
callq 0x6070
leaq (,%rbp,8), %rcx
addq (%rbx), %rcx
movq %rax, (%rcx,%r15,8)
incq %rbp
leaq 0x1(%r14), %rbx
incq %r14
jmp 0x651b
movq 0x10(%rsp), %rsi
subq %rbx, %rsi
testq %rsi, %rsi
jle 0x6845
movsbl (%r13,%rbx), %edx
addq %r15, %rbx
movq %rbx, %rdi
callq 0x6070
leaq (,%rbp,8), %rcx
movq (%rsp), %rdx
addq (%rdx), %rcx
movq %rax, (%rcx,%r15,8)
incq %rbp
movq 0x18(%rsp), %rax
movq %rbp, (%rax)
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq