// File: 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:
subq $0x68, %rsp
movq %rdi, 0x60(%rsp)
movq %rsi, 0x58(%rsp)
movq %rdx, 0x50(%rsp)
movq %rcx, 0x48(%rsp)
movq 0x58(%rsp), %rax
addq $0x1, %rax
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x3040
movq %rax, 0x40(%rsp)
movq $0x0, 0x38(%rsp)
movl $0x0, 0x34(%rsp)
movq $0x0, 0x28(%rsp)
movq $-0x1, 0x20(%rsp)
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x10(%rsp), %rax
cmpq 0x58(%rsp), %rax
ja 0xd5f6
movq 0x60(%rsp), %rax
movq 0x10(%rsp), %rcx
movb (%rax,%rcx), %al
movb %al, 0xf(%rsp)
xorl %eax, %eax
cmpl 0x34(%rsp), %eax
jne 0xd4cd
movsbl 0xf(%rsp), %ecx
movl $0x23, %eax
cmpl %ecx, %eax
jne 0xd0ab
movq 0x10(%rsp), %rax
subq $0x1, %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
subq 0x28(%rsp), %rax
addq $0x1, %rax
cmpq $0x0, %rax
jle 0xd09e
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
subq 0x28(%rsp), %rsi
addq $0x1, %rsi
movq 0x60(%rsp), %rax
movq 0x28(%rsp), %rcx
movsbl (%rax,%rcx), %edx
callq 0xe900
movq %rax, %rdx
movq 0x40(%rsp), %rax
movq 0x18(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
movl $0x3, 0x34(%rsp)
jmp 0xd4c8
movsbl 0xf(%rsp), %ecx
movl $0x22, %eax
cmpl %ecx, %eax
jne 0xd145
movq 0x10(%rsp), %rax
subq $0x1, %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
subq 0x28(%rsp), %rax
addq $0x1, %rax
cmpq $0x0, %rax
jle 0xd124
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
subq 0x28(%rsp), %rsi
addq $0x1, %rsi
movq 0x60(%rsp), %rax
movq 0x28(%rsp), %rcx
movsbl (%rax,%rcx), %edx
callq 0xe900
movq %rax, %rdx
movq 0x40(%rsp), %rax
movq 0x18(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x20(%rsp)
movl $0x1, 0x34(%rsp)
jmp 0xd4c6
movsbl 0xf(%rsp), %edi
callq 0xe9c0
testb $0x1, %al
jne 0xd162
movsbl 0xf(%rsp), %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xd1ea
movq 0x10(%rsp), %rax
subq $0x1, %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
subq 0x28(%rsp), %rax
addq $0x1, %rax
cmpq $0x0, %rax
jle 0xd1c9
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
subq 0x28(%rsp), %rsi
addq $0x1, %rsi
movq 0x60(%rsp), %rax
movq 0x28(%rsp), %rcx
movsbl (%rax,%rcx), %edx
callq 0xe900
movq %rax, %rdx
movq 0x40(%rsp), %rax
movq 0x18(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x28(%rsp)
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
jmp 0xd4c4
movsbl 0xf(%rsp), %ecx
movl $0x7b, %eax
cmpl %ecx, %eax
jne 0xd2dd
movq 0x10(%rsp), %rax
subq $0x1, %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
subq 0x28(%rsp), %rax
addq $0x1, %rax
cmpq $0x0, %rax
jle 0xd263
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
subq 0x28(%rsp), %rsi
addq $0x1, %rsi
movq 0x60(%rsp), %rax
movq 0x28(%rsp), %rcx
movsbl (%rax,%rcx), %edx
callq 0xe900
movq %rax, %rdx
movq 0x40(%rsp), %rax
movq 0x18(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
subq 0x28(%rsp), %rsi
addq $0x1, %rsi
movq 0x60(%rsp), %rax
movq 0x28(%rsp), %rcx
movsbl (%rax,%rcx), %edx
callq 0xe900
movq %rax, %rdx
movq 0x40(%rsp), %rax
movq 0x18(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x28(%rsp)
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
jmp 0xd4c2
movsbl 0xf(%rsp), %ecx
movl $0x7d, %eax
cmpl %ecx, %eax
jne 0xd3d0
movq 0x10(%rsp), %rax
subq $0x1, %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
subq 0x28(%rsp), %rax
addq $0x1, %rax
cmpq $0x0, %rax
jle 0xd356
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
subq 0x28(%rsp), %rsi
addq $0x1, %rsi
movq 0x60(%rsp), %rax
movq 0x28(%rsp), %rcx
movsbl (%rax,%rcx), %edx
callq 0xe900
movq %rax, %rdx
movq 0x40(%rsp), %rax
movq 0x18(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
subq 0x28(%rsp), %rsi
addq $0x1, %rsi
movq 0x60(%rsp), %rax
movq 0x28(%rsp), %rcx
movsbl (%rax,%rcx), %edx
callq 0xe900
movq %rax, %rdx
movq 0x40(%rsp), %rax
movq 0x18(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x28(%rsp)
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
jmp 0xd4c0
movsbl 0xf(%rsp), %ecx
movl $0x3d, %eax
cmpl %ecx, %eax
jne 0xd4be
movq 0x10(%rsp), %rax
subq $0x1, %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
subq 0x28(%rsp), %rax
addq $0x1, %rax
cmpq $0x0, %rax
jle 0xd449
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
subq 0x28(%rsp), %rsi
addq $0x1, %rsi
movq 0x60(%rsp), %rax
movq 0x28(%rsp), %rcx
movsbl (%rax,%rcx), %edx
callq 0xe900
movq %rax, %rdx
movq 0x40(%rsp), %rax
movq 0x18(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
subq 0x28(%rsp), %rsi
addq $0x1, %rsi
movq 0x60(%rsp), %rax
movq 0x28(%rsp), %rcx
movsbl (%rax,%rcx), %edx
callq 0xe900
movq %rax, %rdx
movq 0x40(%rsp), %rax
movq 0x18(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x28(%rsp)
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
jmp 0xd4c0
jmp 0xd4c2
jmp 0xd4c4
jmp 0xd4c6
jmp 0xd4c8
jmp 0xd5e1
movl $0x1, %eax
cmpl 0x34(%rsp), %eax
jne 0xd57c
movsbl 0xf(%rsp), %ecx
movl $0x5c, %eax
cmpl %ecx, %eax
jne 0xd4f7
movl $0x2, 0x34(%rsp)
jmp 0xd57a
movsbl 0xf(%rsp), %ecx
movl $0x22, %eax
cmpl %ecx, %eax
jne 0xd578
movq 0x10(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
subq 0x28(%rsp), %rsi
addq $0x1, %rsi
movq 0x60(%rsp), %rax
movq 0x28(%rsp), %rcx
movsbl (%rax,%rcx), %edx
callq 0xe900
movq %rax, %rdx
movq 0x40(%rsp), %rax
movq 0x18(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x28(%rsp)
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
movl $0x0, 0x34(%rsp)
jmp 0xd57a
jmp 0xd5df
movl $0x2, %eax
cmpl 0x34(%rsp), %eax
jne 0xd591
movl $0x1, 0x34(%rsp)
jmp 0xd5dd
movl $0x3, %eax
cmpl 0x34(%rsp), %eax
jne 0xd5db
movsbl 0xf(%rsp), %ecx
movl $0xa, %eax
cmpl %ecx, %eax
je 0xd5b5
movsbl 0xf(%rsp), %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xd5d9
movl $0x0, 0x34(%rsp)
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x28(%rsp)
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
jmp 0xd5db
jmp 0xd5dd
jmp 0xd5df
jmp 0xd5e1
jmp 0xd5e3
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x10(%rsp)
jmp 0xcffc
movq 0x18(%rsp), %rax
movq %rax, 0x38(%rsp)
xorl %eax, %eax
cmpl 0x34(%rsp), %eax
je 0xd60a
jmp 0xd60a
movq 0x40(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movq 0x38(%rsp), %rcx
movq 0x48(%rsp), %rax
movq %rcx, (%rax)
addq $0x68, %rsp
retq
nopl (%rax)