// File: Silica[P]PSL/./PSL/tokenizer.h
// Function: PSL::variable::Tokenizer::string_literal(char, bool)
void string_literal(char end = '"', bool escape = true)
	{
		size_t h = i;
		nstr = "";
		for (; i < len; ++i)
		{
			if (s[i] == end)
			{
				nstr += string(s+h, i-h);
				++i;
				return;
			}
			if (escape && s[i] == '\\')
			{
				nstr += string(s+h, i-h);
				h = i;
				size_t j = i+1;
				if (s[j] == 'n')		nstr += '\n';
				else if (s[j] == '"')	nstr += '"';
				else if (s[j] == 't')	nstr += '\t';
/*				else if (s[j] == 'r')	nstr += '\r';
				else if (s[j] == 'a')	nstr += '\a';
				else if (s[j] == 'f')	nstr += '\f';
				else if (s[j] == 'v')	nstr += '\v';*/
/*				else if (s[j] == 'x')
				{
					char c = 0;
					nstr += c;
				}*/
				else					continue;
				h = j+1;
				i = j;
				continue;
			}
		}
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movb %dl, %al
movb %sil, %cl
movq %rdi, -0x8(%rbp)
movb %cl, -0x9(%rbp)
andb $0x1, %al
movb %al, -0xa(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x48(%rbp)
movq 0x28(%rdi), %rax
movq %rax, -0x18(%rbp)
addq $0x68, %rdi
leaq 0x195df(%rip), %rsi     # 0x3e9e3
callq 0x26680
movq -0x48(%rbp), %rcx
movq 0x28(%rcx), %rax
cmpq 0x20(%rcx), %rax
jae 0x255e3
movq -0x48(%rbp), %rcx
movq 0x18(%rcx), %rax
movq 0x28(%rcx), %rcx
movsbl (%rax,%rcx), %eax
movsbl -0x9(%rbp), %ecx
cmpl %ecx, %eax
jne 0x254a1
movq -0x48(%rbp), %rcx
movq -0x18(%rbp), %rax
movq 0x18(%rcx), %rsi
movq 0x28(%rcx), %rdx
addq %rax, %rsi
subq %rax, %rdx
leaq -0x20(%rbp), %rdi
movq %rdi, -0x50(%rbp)
callq 0x26790
movq -0x48(%rbp), %rdi
movq -0x50(%rbp), %rsi
addq $0x68, %rdi
callq 0x151f0
jmp 0x25469
leaq -0x20(%rbp), %rdi
callq 0xc950
movq -0x48(%rbp), %rax
movq 0x28(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x28(%rax)
jmp 0x255e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x20(%rbp), %rdi
callq 0xc950
jmp 0x255e9
testb $0x1, -0xa(%rbp)
je 0x255cc
movq -0x48(%rbp), %rcx
movq 0x18(%rcx), %rax
movq 0x28(%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x5c, %eax
jne 0x255cc
movq -0x48(%rbp), %rcx
movq -0x18(%rbp), %rax
movq 0x18(%rcx), %rsi
movq 0x28(%rcx), %rdx
addq %rax, %rsi
subq %rax, %rdx
leaq -0x38(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq 0x26790
movq -0x48(%rbp), %rdi
movq -0x58(%rbp), %rsi
addq $0x68, %rdi
callq 0x151f0
jmp 0x254fa
leaq -0x38(%rbp), %rdi
callq 0xc950
movq -0x48(%rbp), %rax
movq 0x28(%rax), %rcx
movq %rcx, -0x18(%rbp)
movq 0x28(%rax), %rcx
addq $0x1, %rcx
movq %rcx, -0x40(%rbp)
movq 0x18(%rax), %rax
movq -0x40(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x6e, %eax
jne 0x2555a
movq -0x48(%rbp), %rdi
addq $0x68, %rdi
movl $0xa, %esi
callq 0xc980
jmp 0x255b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x38(%rbp), %rdi
callq 0xc950
jmp 0x255e9
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x40(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x22, %eax
jne 0x25583
movq -0x48(%rbp), %rdi
addq $0x68, %rdi
movl $0x22, %esi
callq 0xc980
jmp 0x255b0
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x40(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x74, %eax
jne 0x255ac
movq -0x48(%rbp), %rdi
addq $0x68, %rdi
movl $0x9, %esi
callq 0xc980
jmp 0x255ae
jmp 0x255ce
jmp 0x255b0
jmp 0x255b2
movq -0x48(%rbp), %rax
movq -0x40(%rbp), %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movq -0x40(%rbp), %rcx
movq %rcx, 0x28(%rax)
jmp 0x255ce
jmp 0x255ce
movq -0x48(%rbp), %rax
movq 0x28(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x28(%rax)
jmp 0x25409
addq $0x60, %rsp
popq %rbp
retq
movq -0x28(%rbp), %rdi
callq 0xc280
nopw %cs:(%rax,%rax)
nopl (%rax)