// File: /workspace/github_cpp_makefile_star2_O1/Silica[P]PSL/./PSL/parser.h
// Function: PSL::variable::Parser::getTerm(PSL::variable&)
void getTerm(variable &c)
	{
		int n = t->checkNext();
		if (n == '('/*')'*/)
		{
			t->getNext();
			variable v;
			if (t->getNextIf(/*'('*/')'))
				v.pushcode(new Variable::PUSH_NULL);
			else
				ParseExpression(v, /*'('*/')');
			if (t->getNextIf('{'/*'}'*/))
			{
				v.pushcode(new Variable::ARGUMENT);
				ParseBlock(v, v);
				c.pushcode(new Variable::PUSH_CODE(v));
			}
			else
			{
				if (v.codelength())
				{
					if (c.codelength())
						c.getcode()->push(v.getcode());
					else
						c = v;
					#ifdef PSL_OPTIMIZE_PARENTHESES
					if (t->checkNext() == ',')
					#endif
						c.pushcode(new Variable::PARENTHESES);
				}
			}
			getSuffOp(c);
		}
		else if (n == '[')
		{
			t->getNext();
			ParseTable(c);
			getSuffOp(c);
		}
		else if (n == '@')
		{
			t->getNext();
			int i = 0;
			if (t->getNextIf(Tokenizer::INT))
				i = t->nint;
			c.pushcode(new Variable::LOCALINDEX(i));
			getSuffOp(c);
		}
		else PRE_OP('+', PLUS)
		else PRE_OP('-', MINUS)
		else PRE_OP('!', NOT)
		else PRE_OP('~', COMPL)
		else PRE_OP('*', DEREF)
		else PRE_OP('&', REF)
		else PRE_OP('$', CLOSURE)
		else PRE_OP(Tokenizer::INC, PINC)
		else PRE_OP(Tokenizer::DEC, PDEC)
		else TERM(Tokenizer::IDENTIFIER, VARIABLE(t->nstr))
		else TERM(Tokenizer::INT, PUSH_INT(t->nint))
		else TERM(Tokenizer::HEX, PUSH_HEX(static_cast<hex>(t->nint)))
		else TERM(Tokenizer::NUMBER, PUSH_FLOAT(t->nnum))
		else TERM(Tokenizer::STRING, PUSH_STRING(t->nstr))
		else
		{
			if (n < 0)	Error(UKT);
			else		Error(NOTT, n);
			t->getNext();
		}
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq (%rdi), %r15
movl 0x38(%r15), %eax
testl %eax, %eax
jns 0x1cf9c
movq %r15, %rdi
callq 0x199bc
movl %eax, 0x38(%r15)
cmpl $0x20, %eax
jle 0x1cfdb
cmpl $0x3f, %eax
jg 0x1d010
leal -0x21(%rax), %ecx
cmpl $0xc, %ecx
ja 0x1d1a2
leaq 0xb2e7(%rip), %rdx      # 0x282a0
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movq (%r14), %rdi
cmpl $0x0, 0x38(%rdi)
jle 0x1d2fd
movl $0xffffffff, 0x38(%rdi) # imm = 0xFFFFFFFF
jmp 0x1d304
leal -0x1(%rax), %ecx
cmpl $0x7, %ecx
ja 0x1d1a2
leaq 0xb292(%rip), %rdx      # 0x28280
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movq (%r14), %rdi
cmpl $0x0, 0x38(%rdi)
jle 0x1d207
movl $0xffffffff, 0x38(%rdi) # imm = 0xFFFFFFFF
jmp 0x1d20e
cmpl $0x40, %eax
je 0x1d170
cmpl $0x5b, %eax
je 0x1d189
cmpl $0x7e, %eax
jne 0x1d1a2
movq (%r14), %rdi
cmpl $0x0, 0x38(%rdi)
jle 0x1d598
movl $0xffffffff, 0x38(%rdi) # imm = 0xFFFFFFFF
jmp 0x1d59f
movq (%r14), %rdi
cmpl $0x0, 0x38(%rdi)
jle 0x1d1c0
movl $0xffffffff, 0x38(%rdi) # imm = 0xFFFFFFFF
jmp 0x1d1c7
movq (%r14), %rdi
cmpl $0x0, 0x38(%rdi)
jle 0x1d1e4
movl $0xffffffff, 0x38(%rdi) # imm = 0xFFFFFFFF
jmp 0x1d1eb
movq (%r14), %rdi
cmpl $0x0, 0x38(%rdi)
jle 0x1d240
movl $0xffffffff, 0x38(%rdi) # imm = 0xFFFFFFFF
jmp 0x1d247
movq (%r14), %rdi
cmpl $0x0, 0x38(%rdi)
jle 0x1d25f
movl $0xffffffff, 0x38(%rdi) # imm = 0xFFFFFFFF
jmp 0x1d266
movq (%r14), %rdi
cmpl $0x0, 0x38(%rdi)
jle 0x1d282
movl $0xffffffff, 0x38(%rdi) # imm = 0xFFFFFFFF
jmp 0x1d289
movq (%r14), %rdi
cmpl $0x0, 0x38(%rdi)
jle 0x1d2b7
movl $0xffffffff, 0x38(%rdi) # imm = 0xFFFFFFFF
jmp 0x1d2be
movq (%r14), %rdi
cmpl $0x0, 0x38(%rdi)
jle 0x1d2da
movl $0xffffffff, 0x38(%rdi) # imm = 0xFFFFFFFF
jmp 0x1d2e1
movq (%r14), %rdi
cmpl $0x0, 0x38(%rdi)
jle 0x1d320
movl $0xffffffff, 0x38(%rdi) # imm = 0xFFFFFFFF
jmp 0x1d327
movq (%r14), %rdi
cmpl $0x0, 0x38(%rdi)
jle 0x1d343
movl $0xffffffff, 0x38(%rdi) # imm = 0xFFFFFFFF
jmp 0x1d34a
movq (%r14), %rdi
cmpl $0x0, 0x38(%rdi)
jle 0x1d366
movl $0xffffffff, 0x38(%rdi) # imm = 0xFFFFFFFF
jmp 0x1d36d
movq (%r14), %rdi
cmpl $0x0, 0x38(%rdi)
jle 0x1d4d2
movl $0xffffffff, 0x38(%rdi) # imm = 0xFFFFFFFF
jmp 0x1d4d9
movq (%r14), %rdi
cmpl $0x0, 0x38(%rdi)
jle 0x1d4f5
movl $0xffffffff, 0x38(%rdi) # imm = 0xFFFFFFFF
jmp 0x1d4fc
movq (%r14), %rdi
cmpl $0x0, 0x38(%rdi)
jle 0x1d518
movl $0xffffffff, 0x38(%rdi) # imm = 0xFFFFFFFF
jmp 0x1d51f
movq (%r14), %rdi
cmpl $0x0, 0x38(%rdi)
jle 0x1d571
movl $0xffffffff, 0x38(%rdi) # imm = 0xFFFFFFFF
jmp 0x1d578
leaq 0xb549(%rip), %rcx      # 0x286f2
movq %r14, %rdi
testl %eax, %eax
js 0x1d5d8
movl $0x6, %esi
movl %eax, %edx
jmp 0x1d5df
jns 0x1d1c7
callq 0x199bc
callq 0x10058
movq %rax, %r15
movq (%r14), %rax
movsd 0x60(%rax), %xmm0
movq %r15, %rdi
callq 0x1e002
jmp 0x1d2a0
jns 0x1d1eb
callq 0x199bc
callq 0x10058
movq %rax, %r15
movq (%r14), %rax
movslq 0x5c(%rax), %rsi
movq %r15, %rdi
callq 0x1df86
jmp 0x1d2a0
jns 0x1d20e
callq 0x199bc
callq 0x10058
movq (%r14), %rcx
leaq 0x2138b(%rip), %rdx     # 0x3e5a8
movq %rdx, (%rax)
movq $0x0, 0x8(%rax)
movq 0x68(%rcx), %rcx
testq %rcx, %rcx
je 0x1d235
incl (%rcx)
jmp 0x1d237
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
jmp 0x1d55d
jns 0x1d247
callq 0x199bc
callq 0x10058
movq %rax, %r15
movq (%r14), %rax
movl 0x5c(%rax), %esi
movq %r15, %rdi
callq 0x1df0e
jmp 0x1d2a0
jns 0x1d266
callq 0x199bc
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1cf78
callq 0xf762
leaq 0x1f5cb(%rip), %rcx     # 0x3c848
jmp 0x1d5b6
jns 0x1d289
callq 0x199bc
callq 0x10058
movq %rax, %r15
movq (%r14), %rsi
addq $0x68, %rsi
movq %rax, %rdi
callq 0x1e086
movq (%rbx), %rax
movq (%rax), %rdi
movq (%rdi), %rax
movq %r15, %rsi
callq *0x190(%rax)
jmp 0x1d583
jns 0x1d2be
callq 0x199bc
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1cf78
callq 0xf762
leaq 0x1f4fb(%rip), %rcx     # 0x3c7d0
jmp 0x1d5b6
jns 0x1d2e1
callq 0x199bc
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1cf78
callq 0xf762
leaq 0x1ff70(%rip), %rcx     # 0x3d268
jmp 0x1d5b6
jns 0x1d304
callq 0x199bc
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1cf78
callq 0xf762
leaq 0x1fe7d(%rip), %rcx     # 0x3d198
jmp 0x1d5b6
jns 0x1d327
callq 0x199bc
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1cf78
callq 0xf762
leaq 0x1ff92(%rip), %rcx     # 0x3d2d0
jmp 0x1d5b6
jns 0x1d34a
callq 0x199bc
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1cf78
callq 0xf762
leaq 0x1ffd7(%rip), %rcx     # 0x3d338
jmp 0x1d5b6
jns 0x1d36d
callq 0x199bc
movq %rsp, %rdi
callq 0x1303e
movq (%r14), %r15
movl 0x38(%r15), %eax
testl %eax, %eax
jns 0x1d38c
movq %r15, %rdi
callq 0x199bc
movl %eax, 0x38(%r15)
cmpl $0x29, %eax
jne 0x1d3bd
movl $0xffffffff, 0x38(%r15) # imm = 0xFFFFFFFF
callq 0xf762
leaq 0x1f6e3(%rip), %rcx     # 0x3ca88
movq %rcx, (%rax)
movq (%rsp), %rcx
movq (%rcx), %rdi
movq (%rdi), %rcx
movq %rax, %rsi
callq *0x190(%rcx)
jmp 0x1d3cf
movq %rsp, %rsi
movq %r14, %rdi
movl $0x29, %edx
xorl %ecx, %ecx
callq 0x1b500
movq (%r14), %r15
movl 0x38(%r15), %eax
testl %eax, %eax
jns 0x1d3e6
movq %r15, %rdi
callq 0x199bc
movl %eax, 0x38(%r15)
cmpl $0x7b, %eax
jne 0x1d46f
movl $0xffffffff, 0x38(%r15) # imm = 0xFFFFFFFF
callq 0xf762
leaq 0x1f755(%rip), %rcx     # 0x3cb58
movq %rcx, (%rax)
movq (%rsp), %rcx
movq (%rcx), %rdi
movq (%rdi), %rcx
movq %rax, %rsi
callq *0x190(%rcx)
movq %rsp, %rdx
movq %r14, %rdi
movq %rdx, %rsi
callq 0x1b424
callq 0x10058
movq (%rsp), %r15
movl 0x8(%r15), %ecx
leal 0x1(%rcx), %edx
movl %edx, 0x8(%r15)
leaq 0x1fa16(%rip), %rdx     # 0x3ce58
movq %rdx, (%rax)
addl $0x2, %ecx
movl %ecx, 0x8(%r15)
movq %r15, 0x8(%rax)
movq (%rbx), %rcx
movq (%rcx), %rdi
movq (%rdi), %rcx
movq %rax, %rsi
callq *0x190(%rcx)
movq %r15, %rdi
callq 0xfc04
jmp 0x1d66c
movq (%rsp), %rax
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x180(%rax)
testq %rax, %rax
je 0x1d66c
movq (%rbx), %rax
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x180(%rax)
movq (%rbx), %r15
testq %rax, %rax
je 0x1d610
movq (%r15), %rdi
movq (%rdi), %rax
callq *0x188(%rax)
movq %rax, %r15
movq (%rsp), %rax
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x188(%rax)
movq %r15, %rdi
movq %rax, %rsi
callq 0x13f52
jmp 0x1d62f
jns 0x1d4d9
callq 0x199bc
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1cf78
callq 0xf762
leaq 0x1fc40(%rip), %rcx     # 0x3d130
jmp 0x1d5b6
jns 0x1d4fc
callq 0x199bc
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1cf78
callq 0xf762
leaq 0x1fbb5(%rip), %rcx     # 0x3d0c8
jmp 0x1d5b6
jns 0x1d51f
callq 0x199bc
movq (%r14), %r15
movl 0x38(%r15), %eax
testl %eax, %eax
jns 0x1d536
movq %r15, %rdi
callq 0x199bc
movl %eax, 0x38(%r15)
xorl %ebp, %ebp
cmpl $0x2, %eax
jne 0x1d54b
movl $0xffffffff, 0x38(%r15) # imm = 0xFFFFFFFF
movq (%r14), %rax
movl 0x5c(%rax), %ebp
callq 0x10058
leaq 0x1fb09(%rip), %rcx     # 0x3d060
movq %rcx, (%rax)
movl %ebp, 0x8(%rax)
movq (%rbx), %rcx
movq (%rcx), %rdi
movq (%rdi), %rcx
movq %rax, %rsi
callq *0x190(%rcx)
jmp 0x1d583
jns 0x1d578
callq 0x199bc
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1db9c
movq %r14, %rdi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x1bfa0
jns 0x1d59f
callq 0x199bc
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1cf78
callq 0xf762
leaq 0x1fc4a(%rip), %rcx     # 0x3d200
movq %rcx, (%rax)
movq (%rbx), %rcx
movq (%rcx), %rdi
movq (%rdi), %rcx
movq 0x190(%rcx), %rcx
movq %rax, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmpq *%rcx
movl $0x7, %esi
xorl %edx, %edx
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
callq 0x1bdbc
movq (%r14), %rdi
cmpl $0x0, 0x38(%rdi)
jle 0x1d5ff
movl $0xffffffff, 0x38(%rdi) # imm = 0xFFFFFFFF
jmp 0x1d680
jns 0x1d680
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x199bc
movq (%rsp), %rsi
movq (%r15), %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq %rax, (%r15)
movq (%rax), %rcx
movq %rax, %rdi
movq %r15, %rsi
callq *0x158(%rcx)
movq (%r14), %r15
movl 0x38(%r15), %eax
testl %eax, %eax
jns 0x1d646
movq %r15, %rdi
callq 0x199bc
movl %eax, 0x38(%r15)
cmpl $0x2c, %eax
jne 0x1d66c
callq 0xf762
leaq 0x1f869(%rip), %rcx     # 0x3cec0
movq %rcx, (%rax)
movq (%rbx), %rcx
movq (%rcx), %rdi
movq (%rdi), %rcx
movq %rax, %rsi
callq *0x190(%rcx)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1bfa0
movq (%rsp), %rdi
callq 0xfc04
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1d6e6
movq %rax, %rbx
movq %r15, %rdi
callq 0xfc04
jmp 0x1d6d5
jmp 0x1d6e6
jmp 0x1d6e6
movq %rax, %rbx
movq %r15, %rdi
callq 0x1e0f4
jmp 0x1d6de
movq %rax, %rbx
movq %r15, %rdi
callq 0x1df62
jmp 0x1d6de
movq %rax, %rbx
movq %r15, %rdi
callq 0x1dfde
jmp 0x1d6de
movq %rax, %rbx
movq %r15, %rdi
callq 0x1e062
jmp 0x1d6de
movq %rax, %rbx
movq (%rsp), %rdi
callq 0xfc04
movq %rbx, %rdi
callq 0xc290
movq %rax, %rdi
callq 0xde83