// File: /workspace/github_cpp_makefile_star2_O3/mhe[P]raytracerframework_cpp/yaml/scantoken.cpp
// Function: YAML::Scanner::ScanPlainScalar()
void Scanner::ScanPlainScalar()
	{
		std::string scalar;

		// set up the scanning parameters
		ScanScalarParams params;
		params.end = (m_flowLevel > 0 ? Exp::EndScalarInFlow : Exp::EndScalar) || (Exp::BlankOrBreak + Exp::Comment);
		params.eatEnd = false;
		params.indent = (m_flowLevel > 0 ? 0 : m_indents.top() + 1);
		params.fold = true;
		params.eatLeadingWhitespace = true;
		params.trimTrailingSpaces = true;
		params.chomp = CLIP;
		params.onDocIndicator = BREAK;
		params.onTabInIndentation = THROW;

		// insert a potential simple key
		if(m_simpleKeyAllowed)
			InsertSimpleKey();

		int line = INPUT.line, column = INPUT.column;
		scalar = ScanScalar(INPUT, params);

		// can have a simple key only if we ended the scalar by starting a new line
		m_simpleKeyAllowed = params.leadingSpaces;

		// finally, check and see if we ended on an illegal character
		//if(Exp::IllegalCharInScalar.Matches(INPUT))
		//	throw ParserException(INPUT.line, INPUT.column, ErrorMsg::CHAR_IN_SCALAR);

		Token token(TT_SCALAR, line, column);
		token.value = scalar;
		m_tokens.push(token);
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xe8, %rsp
movq %rdi, %rbx
leaq -0x38(%rbp), %r15
movq %r15, -0x10(%r15)
movq $0x0, -0x8(%r15)
movb $0x0, (%r15)
leaq -0x98(%rbp), %rdi
callq 0x28b4e
xorl %eax, %eax
movb %al, -0x68(%rbp)
movq %rax, -0x64(%rbp)
movb %al, -0x5c(%rbp)
movq %rax, -0x58(%rbp)
movq %rax, -0x53(%rbp)
movl 0x64(%rbx), %r14d
leaq 0x1338a(%rip), %rsi     # 0x40830
leaq 0x135f3(%rip), %rdx     # 0x40aa0
leaq -0x110(%rbp), %rdi
callq 0x28fee
testl %r14d, %r14d
leaq 0x136cd(%rip), %rax     # 0x40b90
leaq 0x13696(%rip), %rsi     # 0x40b60
cmovgq %rax, %rsi
leaq -0xe0(%rbp), %rdi
leaq -0x110(%rbp), %rdx
callq 0x28f22
leaq -0x98(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x28d10
leaq -0xe0(%rbp), %rdi
callq 0x28ce6
leaq -0x110(%rbp), %rdi
callq 0x28ce6
movb $0x0, -0x68(%rbp)
xorl %eax, %eax
cmpl $0x0, 0x64(%rbx)
jg 0x2d53d
movq 0xf0(%rbx), %rax
cmpq 0xf8(%rbx), %rax
jne 0x2d538
movq 0x108(%rbx), %rcx
movl $0x200, %eax            # imm = 0x200
addq -0x8(%rcx), %rax
movl -0x4(%rax), %eax
incl %eax
movl %eax, -0x64(%rbp)
movw $0x101, -0x5d(%rbp)     # imm = 0x101
movb $0x1, -0x5f(%rbp)
movabsq $0x100000000, %rax      # imm = 0x100000000
movq %rax, -0x58(%rbp)
movl $0x2, -0x50(%rbp)
cmpb $0x1, 0x62(%rbx)
jne 0x2d56d
movq %rbx, %rdi
callq 0x2ed96
movl 0x8(%rbx), %r12d
movl 0xc(%rbx), %r13d
leaq -0xe0(%rbp), %rdi
leaq -0x98(%rbp), %rdx
movq %rbx, %rsi
callq 0x2c05c
leaq -0x48(%rbp), %rdi
leaq -0xe0(%rbp), %r14
movq %r14, %rsi
callq 0x43b0
movq (%r14), %rdi
leaq -0xd0(%rbp), %rax
cmpq %rax, %rdi
je 0x2d5bc
movq -0xd0(%rbp), %rsi
incq %rsi
callq 0x42d0
movb -0x4c(%rbp), %al
movb %al, 0x62(%rbx)
movabsq $0x1100000000, %rax     # imm = 0x1100000000
leaq -0xd0(%rbp), %rdi
movq %rax, -0x10(%rdi)
movl %r12d, -0x8(%rdi)
movl %r13d, -0x4(%rdi)
leaq -0xc0(%rbp), %r14
movq %r14, -0x10(%r14)
xorl %eax, %eax
movq %rax, -0x8(%r14)
movb $0x0, (%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r14)
movq %rax, 0x20(%r14)
leaq -0x48(%rbp), %rsi
callq 0x4160
addq $0x10, %rbx
leaq -0xe0(%rbp), %rsi
movq %rbx, %rdi
callq 0x2e22e
leaq -0xb0(%rbp), %rbx
movq %rbx, %rdi
callq 0x2670a
movq -0x20(%rbx), %rdi
cmpq %r14, %rdi
je 0x2d643
movq -0xc0(%rbp), %rsi
incq %rsi
callq 0x42d0
leaq -0x98(%rbp), %rdi
callq 0x28ce6
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x2d664
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x42d0
addq $0xe8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x2d69c
jmp 0x2d69c
movq %rax, %rbx
leaq -0xe0(%rbp), %rdi
callq 0x28ce6
jmp 0x2d68e
movq %rax, %rbx
leaq -0x110(%rbp), %rdi
callq 0x28ce6
jmp 0x2d6b5
movq %rax, %rbx
jmp 0x2d6b5
movq %rax, %rbx
jmp 0x2d6c1
movq %rax, %rbx
leaq -0xe0(%rbp), %rdi
callq 0x264de
leaq -0x98(%rbp), %rdi
callq 0x28ce6
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x2d6d6
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x42d0
movq %rbx, %rdi
callq 0x4550