// File: yukioc[P]tscrpt/t-tscrpt.cpp
// Function: t_string()
void t_string() {/*{{{*/
	tscrpt_t sc;
	obj_t*o;

	//! \test hello => hello
	o = sc.eval("\"hello\"");
	mu_assert(o!=NULL);
	mu_assert(o->type=='S');
	mu_assert(o->str().compare("hello")==0);
	delete o;

	//! \test say \\"hello\\" => say "hello"
	o = sc.eval("\"say \\\"hello\\\"\"");
	mu_assert(o!=NULL);
	mu_assert(o->type=='S');
	mu_assert(o->str().compare("say \"hello\"")==0);
	delete o;

	//! \test \\"\\" => ""
	o = sc.eval("\"\"");
	mu_assert(o!=NULL);
	mu_assert(o->type=='S');
	mu_assert(o->str().compare("")==0);
	delete o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
leaq -0x8(%rbp), %rdi
movq %rdi, -0x30(%rbp)
callq 0x25b0
movq -0x30(%rbp), %rdi
leaq 0x443d(%rip), %rsi      # 0xa5ad
callq 0x2670
movq %rax, -0x28(%rbp)
jmp 0x617b
movq -0x28(%rbp), %rax
movq %rax, -0x10(%rbp)
movl 0x8073(%rip), %eax      # 0xe1fc
addl $0x1, %eax
movl %eax, 0x806a(%rip)      # 0xe1fc
cmpq $0x0, -0x10(%rbp)
jne 0x61e6
movl 0x8055(%rip), %eax      # 0xe1f4
incl %eax
movl %eax, 0x804d(%rip)      # 0xe1f4
leaq 0x432e(%rip), %rdi      # 0xa4dc
leaq 0x4345(%rip), %rsi      # 0xa4fa
leaq 0x4558(%rip), %rcx      # 0xa714
xorl %eax, %eax
movl $0x89, %edx
callq 0x2040
jmp 0x61ca
jmp 0x61e6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x8(%rbp), %rdi
callq 0x25d0
jmp 0x657b
jmp 0x61e8
jmp 0x61ea
jmp 0x61ec
movl 0x800a(%rip), %eax      # 0xe1fc
addl $0x1, %eax
movl %eax, 0x8001(%rip)      # 0xe1fc
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x53, %eax
je 0x623a
movl 0x7fe7(%rip), %eax      # 0xe1f4
incl %eax
movl %eax, 0x7fdf(%rip)      # 0xe1f4
leaq 0x42c0(%rip), %rdi      # 0xa4dc
leaq 0x42d7(%rip), %rsi      # 0xa4fa
leaq 0x454e(%rip), %rcx      # 0xa778
xorl %eax, %eax
movl $0x8a, %edx
callq 0x2040
jmp 0x6238
jmp 0x623a
jmp 0x623c
jmp 0x623e
jmp 0x6240
movl 0x7fb6(%rip), %eax      # 0xe1fc
incl %eax
movl %eax, 0x7fae(%rip)      # 0xe1fc
movq -0x10(%rbp), %rdi
callq 0x2500
movq %rax, -0x38(%rbp)
jmp 0x625d
movq -0x38(%rbp), %rdi
leaq 0x42a7(%rip), %rsi      # 0xa50f
callq 0x20a0
cmpl $0x0, %eax
je 0x62a5
movl 0x7f7c(%rip), %eax      # 0xe1f4
incl %eax
movl %eax, 0x7f74(%rip)      # 0xe1f4
leaq 0x4255(%rip), %rdi      # 0xa4dc
leaq 0x426c(%rip), %rsi      # 0xa4fa
leaq 0x44f0(%rip), %rcx      # 0xa785
xorl %eax, %eax
movl $0x8b, %edx
callq 0x2040
jmp 0x62a3
jmp 0x62a5
jmp 0x62a7
jmp 0x62a9
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, %rax
je 0x62ce
movq -0x40(%rbp), %rdi
callq 0x4480
movq -0x40(%rbp), %rdi
movl $0x30, %esi
callq 0x21d0
leaq 0x44cd(%rip), %rsi      # 0xa7a2
leaq -0x8(%rbp), %rdi
callq 0x2670
movq %rax, -0x48(%rbp)
jmp 0x62e4
movq -0x48(%rbp), %rax
movq %rax, -0x10(%rbp)
movl 0x7f0a(%rip), %eax      # 0xe1fc
addl $0x1, %eax
movl %eax, 0x7f01(%rip)      # 0xe1fc
cmpq $0x0, -0x10(%rbp)
jne 0x6335
movl 0x7eec(%rip), %eax      # 0xe1f4
incl %eax
movl %eax, 0x7ee4(%rip)      # 0xe1f4
leaq 0x41c5(%rip), %rdi      # 0xa4dc
leaq 0x41dc(%rip), %rsi      # 0xa4fa
leaq 0x43ef(%rip), %rcx      # 0xa714
xorl %eax, %eax
movl $0x90, %edx
callq 0x2040
jmp 0x6333
jmp 0x6335
jmp 0x6337
jmp 0x6339
jmp 0x633b
movl 0x7ebb(%rip), %eax      # 0xe1fc
addl $0x1, %eax
movl %eax, 0x7eb2(%rip)      # 0xe1fc
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x53, %eax
je 0x6389
movl 0x7e98(%rip), %eax      # 0xe1f4
incl %eax
movl %eax, 0x7e90(%rip)      # 0xe1f4
leaq 0x4171(%rip), %rdi      # 0xa4dc
leaq 0x4188(%rip), %rsi      # 0xa4fa
leaq 0x43ff(%rip), %rcx      # 0xa778
xorl %eax, %eax
movl $0x91, %edx
callq 0x2040
jmp 0x6387
jmp 0x6389
jmp 0x638b
jmp 0x638d
jmp 0x638f
movl 0x7e67(%rip), %eax      # 0xe1fc
incl %eax
movl %eax, 0x7e5f(%rip)      # 0xe1fc
movq -0x10(%rbp), %rdi
callq 0x2500
movq %rax, -0x50(%rbp)
jmp 0x63ac
movq -0x50(%rbp), %rdi
leaq 0x41f2(%rip), %rsi      # 0xa5a9
callq 0x20a0
cmpl $0x0, %eax
je 0x63f4
movl 0x7e2d(%rip), %eax      # 0xe1f4
incl %eax
movl %eax, 0x7e25(%rip)      # 0xe1f4
leaq 0x4106(%rip), %rdi      # 0xa4dc
leaq 0x411d(%rip), %rsi      # 0xa4fa
leaq 0x43ce(%rip), %rcx      # 0xa7b2
xorl %eax, %eax
movl $0x92, %edx
callq 0x2040
jmp 0x63f2
jmp 0x63f4
jmp 0x63f6
jmp 0x63f8
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
cmpq $0x0, %rax
je 0x641d
movq -0x58(%rbp), %rdi
callq 0x4480
movq -0x58(%rbp), %rdi
movl $0x30, %esi
callq 0x21d0
leaq 0x45bc(%rip), %rsi      # 0xa9e0
leaq -0x8(%rbp), %rdi
callq 0x2670
movq %rax, -0x60(%rbp)
jmp 0x6433
movq -0x60(%rbp), %rax
movq %rax, -0x10(%rbp)
movl 0x7dbb(%rip), %eax      # 0xe1fc
addl $0x1, %eax
movl %eax, 0x7db2(%rip)      # 0xe1fc
cmpq $0x0, -0x10(%rbp)
jne 0x6484
movl 0x7d9d(%rip), %eax      # 0xe1f4
incl %eax
movl %eax, 0x7d95(%rip)      # 0xe1f4
leaq 0x4076(%rip), %rdi      # 0xa4dc
leaq 0x408d(%rip), %rsi      # 0xa4fa
leaq 0x42a0(%rip), %rcx      # 0xa714
xorl %eax, %eax
movl $0x97, %edx
callq 0x2040
jmp 0x6482
jmp 0x6484
jmp 0x6486
jmp 0x6488
jmp 0x648a
movl 0x7d6c(%rip), %eax      # 0xe1fc
addl $0x1, %eax
movl %eax, 0x7d63(%rip)      # 0xe1fc
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x53, %eax
je 0x64d8
movl 0x7d49(%rip), %eax      # 0xe1f4
incl %eax
movl %eax, 0x7d41(%rip)      # 0xe1f4
leaq 0x4022(%rip), %rdi      # 0xa4dc
leaq 0x4039(%rip), %rsi      # 0xa4fa
leaq 0x42b0(%rip), %rcx      # 0xa778
xorl %eax, %eax
movl $0x98, %edx
callq 0x2040
jmp 0x64d6
jmp 0x64d8
jmp 0x64da
jmp 0x64dc
jmp 0x64de
movl 0x7d18(%rip), %eax      # 0xe1fc
incl %eax
movl %eax, 0x7d10(%rip)      # 0xe1fc
movq -0x10(%rbp), %rdi
callq 0x2500
movq %rax, -0x68(%rbp)
jmp 0x64fb
movq -0x68(%rbp), %rdi
leaq 0x3ff3(%rip), %rsi      # 0xa4f9
callq 0x20a0
cmpl $0x0, %eax
je 0x6543
movl 0x7cde(%rip), %eax      # 0xe1f4
incl %eax
movl %eax, 0x7cd6(%rip)      # 0xe1f4
leaq 0x3fb7(%rip), %rdi      # 0xa4dc
leaq 0x3fce(%rip), %rsi      # 0xa4fa
leaq 0x42a4(%rip), %rcx      # 0xa7d7
xorl %eax, %eax
movl $0x99, %edx
callq 0x2040
jmp 0x6541
jmp 0x6543
jmp 0x6545
jmp 0x6547
movq -0x10(%rbp), %rax
movq %rax, -0x70(%rbp)
cmpq $0x0, %rax
je 0x656c
movq -0x70(%rbp), %rdi
callq 0x4480
movq -0x70(%rbp), %rdi
movl $0x30, %esi
callq 0x21d0
leaq -0x8(%rbp), %rdi
callq 0x25d0
addq $0x70, %rsp
popq %rbp
retq
movq -0x18(%rbp), %rdi
callq 0x2330
nopw %cs:(%rax,%rax)