// File: /workspace/github_cpp_makefile_star2_O1/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
movq %r8, -0x8(%rsp)
testq %rdx, %rdx
movq %rcx, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
jle 0x7893
leaq (,%rsi,8), %r10
addq (%rcx), %r10
movq %rsi, %r11
movl $0xfffffff8, %esi       # imm = 0xFFFFFFF8
shlq $0x20, %r11
xorl %ebx, %ebx
xorl %r15d, %r15d
xorl %r12d, %r12d
xorl %eax, %eax
xorl %r13d, %r13d
movb (%rdi,%r12), %bpl
movzbl %bpl, %r14d
cmpl $0x21, %r14d
jg 0x7629
cmpl $0xd, %r14d
ja 0x770c
movl %r14d, %r14d
leaq 0x2a8c(%rip), %rcx      # 0xa088
movslq (%rcx,%r14,4), %r14
addq %rcx, %r14
jmpq *%r14
movq %r12, %rbp
subq %r13, %rbp
cmpq $0x1, %rbp
je 0x76c0
addl -0x18(%rsp), %r13d
shlq $0x20, %r13
leaq (%r13,%rbp,8), %r13
jmp 0x76f8
cmpl $0x5b, %r14d
jg 0x764a
cmpl $0x22, %r14d
je 0x771b
cmpl $0x23, %r14d
je 0x7692
cmpl $0x3d, %r14d
je 0x7664
jmp 0x787a
cmpl $0x5c, %r14d
je 0x7840
cmpl $0x7b, %r14d
je 0x7664
cmpl $0x7d, %r14d
jne 0x787a
movq %r12, %r14
subq %r13, %r14
testq %r14, %r14
jle 0x77b8
movq %r14, %rcx
decq %rcx
je 0x7779
addl -0x18(%rsp), %r13d
shlq $0x20, %r13
leaq (%r13,%r14,8), %r13
jmp 0x77b1
movq %r12, %r14
subq %r13, %r14
testq %r14, %r14
jle 0x783b
movq %r14, %rcx
decq %rcx
je 0x7749
addl -0x18(%rsp), %r13d
shlq $0x20, %r13
leaq (%r13,%r14,8), %r13
jmp 0x7834
movb (%rdi,%r13), %cl
xorl %r8d, %r8d
cmpb $0x7b, %cl
sete %r8b
xorl %r9d, %r9d
cmpb $0x7d, %cl
sete %r9b
shll $0x2, %r9d
leaq 0x6(%r9), %r14
cmpb $0x3d, %cl
cmovneq %r9, %r14
leaq (%r14,%r8,2), %rcx
imulq %rsi, %r13
addq %rcx, %r13
addq %r11, %r13
addq %rbx, %r13
movq %r13, (%r10,%rax,8)
xorl %ecx, %ecx
testq %rbp, %rbp
setg %cl
addq %rcx, %rax
jmp 0x77f5
cmpl $0x20, %r14d
je 0x7606
jmp 0x787a
movq %r12, %r8
subq %r13, %r8
testq %r8, %r8
jle 0x783b
movq %r8, %r14
decq %r14
je 0x77fc
addl -0x18(%rsp), %r13d
shlq $0x20, %r13
leaq (%r13,%r8,8), %r13
jmp 0x7834
movb (%rdi,%r13), %cl
xorl %r8d, %r8d
cmpb $0x7b, %cl
sete %r8b
xorl %r9d, %r9d
cmpb $0x7d, %cl
sete %r9b
shll $0x2, %r9d
leaq 0x6(%r9), %r14
cmpb $0x3d, %cl
cmovneq %r9, %r14
leaq (%r14,%r8,2), %rcx
jmp 0x7827
movb (%rdi,%r13), %cl
xorl %r8d, %r8d
cmpb $0x7b, %cl
sete %r8b
xorl %r9d, %r9d
cmpb $0x7d, %cl
sete %r9b
shll $0x2, %r9d
leaq 0x6(%r9), %r14
cmpb $0x3d, %cl
cmovneq %r9, %r14
leaq (%r14,%r8,2), %rcx
imulq %rsi, %r13
addq %rcx, %r13
addq %r11, %r13
addq %rbx, %r13
movq %r13, (%r10,%rax,8)
incq %rax
movb (%rdi,%r12), %cl
xorl %r8d, %r8d
cmpb $0x7b, %cl
sete %r8b
xorl %r9d, %r9d
cmpb $0x7d, %cl
sete %r9b
shll $0x2, %r9d
leaq 0x6(%r9), %r14
cmpb $0x3d, %cl
cmovneq %r9, %r14
leaq (%r14,%r8,2), %rcx
leaq (%r11,%r15), %r8
addq %r8, %rcx
addq $0x8, %rcx
movq %rcx, (%r10,%rax,8)
incq %rax
leaq 0x1(%r12), %r13
jmp 0x787a
movb (%rdi,%r13), %r8b
xorl %r14d, %r14d
cmpb $0x7b, %r8b
sete %r14b
xorl %ecx, %ecx
cmpb $0x7d, %r8b
sete %cl
shll $0x2, %ecx
leaq 0x6(%rcx), %r9
cmpb $0x3d, %r8b
cmovneq %rcx, %r9
leaq (%r9,%r14,2), %rcx
imulq %rsi, %r13
addq %rcx, %r13
addq %r11, %r13
addq %rbx, %r13
movq %r13, (%r10,%rax,8)
incq %rax
leaq 0x1(%r12), %r13
xorl %ecx, %ecx
cmpb $0x7b, %bpl
sete %cl
xorl %r8d, %r8d
cmpb $0x7d, %bpl
sete %r8b
shll $0x2, %r8d
leaq 0x6(%r8), %r9
cmpb $0x3d, %bpl
cmovneq %r8, %r9
leaq (%r9,%rcx,2), %rcx
leaq (%r11,%r15), %r8
addq %r8, %rcx
addq $0x9, %rcx
movq %rcx, (%r10,%rax,8)
incq %rax
incq %r12
addq %rsi, %r15
addq $0x8, %r15
addq $0x8, %rbx
cmpq %r12, %rdx
jne 0x75da
jmp 0x7898
xorl %r13d, %r13d
xorl %eax, %eax
subq %r13, %rdx
testq %rdx, %rdx
jle 0x78fc
movq -0x18(%rsp), %r8
leal (%r8,%r13), %ecx
shlq $0x20, %rcx
leaq (%rcx,%rdx,8), %r9
cmpq $0x1, %rdx
jne 0x78e5
movb (%rdi,%r13), %cl
xorl %edx, %edx
cmpb $0x7b, %cl
sete %dl
xorl %esi, %esi
cmpb $0x7d, %cl
sete %sil
xorl %edi, %edi
cmpb $0x3d, %cl
movl $0x6, %ecx
cmovneq %rdi, %rcx
orq %r9, %rcx
leaq (%rcx,%rsi,4), %rcx
leaq (%rcx,%rdx,2), %r9
leaq (,%rax,8), %rcx
movq -0x10(%rsp), %rdx
addq (%rdx), %rcx
movq %r9, (%rcx,%r8,8)
incq %rax
movq -0x8(%rsp), %rcx
movq %rax, (%rcx)
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop