// File: 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
movq %rsp, %rbp
subq $0x1a0, %rsp            # imm = 0x1A0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movq (%rax), %rdi
callq 0x232e0
movl %eax, -0x14(%rbp)
cmpl $0x28, -0x14(%rbp)
jne 0x2a0fe
movq -0x48(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
leaq -0x20(%rbp), %rdi
callq 0x1a130
movq -0x48(%rbp), %rax
movq (%rax), %rdi
movl $0x29, %esi
callq 0x27d30
movb %al, -0x49(%rbp)
jmp 0x29e9b
movb -0x49(%rbp), %al
testb $0x1, %al
jne 0x29ea4
jmp 0x29edf
movl $0x8, %edi
callq 0x1ee10
movq %rax, -0x58(%rbp)
jmp 0x29eb4
movq -0x58(%rbp), %rdi
callq 0x23180
movq -0x58(%rbp), %rsi
leaq -0x20(%rbp), %rdi
callq 0x23150
jmp 0x29ecc
jmp 0x29ef7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x2a0f0
movq -0x48(%rbp), %rdi
leaq -0x20(%rbp), %rsi
movl $0x29, %edx
xorl %ecx, %ecx
callq 0x27150
jmp 0x29ef5
jmp 0x29ef7
movq -0x48(%rbp), %rax
movq (%rax), %rdi
movl $0x7b, %esi
callq 0x27d30
movb %al, -0x59(%rbp)
jmp 0x29f0d
movb -0x59(%rbp), %al
testb $0x1, %al
jne 0x29f19
jmp 0x29fe7
movl $0x8, %edi
callq 0x1ee10
movq %rax, -0x68(%rbp)
jmp 0x29f29
movq -0x68(%rbp), %rdi
callq 0x232a0
movq -0x68(%rbp), %rsi
leaq -0x20(%rbp), %rdi
callq 0x23150
jmp 0x29f41
movq -0x48(%rbp), %rdi
leaq -0x20(%rbp), %rdx
movq %rdx, %rsi
callq 0x26fa0
jmp 0x29f53
movq -0x10(%rbp), %rax
movq %rax, -0x78(%rbp)
movl $0x10, %edi
callq 0x2b070
movq %rax, -0x70(%rbp)
jmp 0x29f6b
movb $0x1, -0x39(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x11b10
jmp 0x29f7e
movq -0x70(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x2b090
jmp 0x29f8d
movq -0x70(%rbp), %rsi
movq -0x78(%rbp), %rdi
movb $0x0, -0x39(%rbp)
callq 0x23150
jmp 0x29fa0
leaq -0x38(%rbp), %rdi
callq 0xcd90
jmp 0x2a0d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x29fd1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x38(%rbp), %rdi
callq 0xcd90
testb $0x1, -0x39(%rbp)
jne 0x29fd9
jmp 0x29fe2
movq -0x70(%rbp), %rdi
callq 0x2b0f0
jmp 0x2a0f0
leaq -0x20(%rbp), %rdi
callq 0x27030
movq %rax, -0x80(%rbp)
jmp 0x29ff6
movq -0x80(%rbp), %rax
cmpq $0x0, %rax
je 0x2a0d1
movq -0x10(%rbp), %rdi
callq 0x27030
movq %rax, -0x88(%rbp)
jmp 0x2a016
movq -0x88(%rbp), %rax
cmpq $0x0, %rax
je 0x2a05e
movq -0x10(%rbp), %rdi
callq 0x27070
movq %rax, -0x90(%rbp)
jmp 0x2a035
leaq -0x20(%rbp), %rdi
callq 0x27070
movq %rax, -0x98(%rbp)
jmp 0x2a047
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdi
callq 0x1bd00
jmp 0x2a05c
jmp 0x2a06f
movq -0x10(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x1d200
jmp 0x2a06d
jmp 0x2a06f
movq -0x48(%rbp), %rax
movq (%rax), %rdi
callq 0x232e0
movl %eax, -0x9c(%rbp)
jmp 0x2a083
movl -0x9c(%rbp), %eax
cmpl $0x2c, %eax
jne 0x2a0cf
movq -0x10(%rbp), %rax
movq %rax, -0xb0(%rbp)
movl $0x8, %edi
callq 0x1ee10
movq %rax, -0xa8(%rbp)
jmp 0x2a0ac
movq -0xa8(%rbp), %rdi
callq 0x2b120
movq -0xb0(%rbp), %rdi
movq -0xa8(%rbp), %rsi
callq 0x23150
jmp 0x2a0cd
jmp 0x2a0cf
jmp 0x2a0d1
jmp 0x2a0d3
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x28280
jmp 0x2a0e2
leaq -0x20(%rbp), %rdi
callq 0xcdc0
jmp 0x2a832
leaq -0x20(%rbp), %rdi
callq 0xcdc0
jmp 0x2a83b
cmpl $0x5b, -0x14(%rbp)
jne 0x2a12f
movq -0x48(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x2b160
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x28280
jmp 0x2a830
cmpl $0x40, -0x14(%rbp)
jne 0x2a1de
movq -0x48(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
movq -0x48(%rbp), %rax
movl $0x0, -0x40(%rbp)
movq (%rax), %rdi
movl $0x2, %esi
callq 0x27d30
testb $0x1, %al
jne 0x2a163
jmp 0x2a170
movq -0x48(%rbp), %rax
movq (%rax), %rax
movl 0x5c(%rax), %eax
movl %eax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xc0(%rbp)
movl $0x10, %edi
callq 0x2b5d0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0xb8(%rbp)
movl -0x40(%rbp), %esi
callq 0x2b5f0
jmp 0x2a19c
movq -0xb8(%rbp), %rsi
movq -0xc0(%rbp), %rdi
callq 0x23150
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x28280
jmp 0x2a82e
movq -0xb8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
callq 0x2b630
jmp 0x2a83b
cmpl $0x2b, -0x14(%rbp)
jne 0x2a239
movq -0x48(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x29e40
movq -0x10(%rbp), %rax
movq %rax, -0xd0(%rbp)
movl $0x8, %edi
callq 0x1ee10
movq %rax, %rdi
movq %rdi, -0xc8(%rbp)
callq 0x2b660
movq -0xd0(%rbp), %rdi
movq -0xc8(%rbp), %rsi
callq 0x23150
jmp 0x2a82c
cmpl $0x2d, -0x14(%rbp)
jne 0x2a294
movq -0x48(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x29e40
movq -0x10(%rbp), %rax
movq %rax, -0xe0(%rbp)
movl $0x8, %edi
callq 0x1ee10
movq %rax, %rdi
movq %rdi, -0xd8(%rbp)
callq 0x2b6a0
movq -0xe0(%rbp), %rdi
movq -0xd8(%rbp), %rsi
callq 0x23150
jmp 0x2a82a
cmpl $0x21, -0x14(%rbp)
jne 0x2a2ef
movq -0x48(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x29e40
movq -0x10(%rbp), %rax
movq %rax, -0xf0(%rbp)
movl $0x8, %edi
callq 0x1ee10
movq %rax, %rdi
movq %rdi, -0xe8(%rbp)
callq 0x2b6e0
movq -0xf0(%rbp), %rdi
movq -0xe8(%rbp), %rsi
callq 0x23150
jmp 0x2a828
cmpl $0x7e, -0x14(%rbp)
jne 0x2a34a
movq -0x48(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x29e40
movq -0x10(%rbp), %rax
movq %rax, -0x100(%rbp)
movl $0x8, %edi
callq 0x1ee10
movq %rax, %rdi
movq %rdi, -0xf8(%rbp)
callq 0x2b720
movq -0x100(%rbp), %rdi
movq -0xf8(%rbp), %rsi
callq 0x23150
jmp 0x2a826
cmpl $0x2a, -0x14(%rbp)
jne 0x2a3a5
movq -0x48(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x29e40
movq -0x10(%rbp), %rax
movq %rax, -0x110(%rbp)
movl $0x8, %edi
callq 0x1ee10
movq %rax, %rdi
movq %rdi, -0x108(%rbp)
callq 0x2b760
movq -0x110(%rbp), %rdi
movq -0x108(%rbp), %rsi
callq 0x23150
jmp 0x2a824
cmpl $0x26, -0x14(%rbp)
jne 0x2a400
movq -0x48(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x29e40
movq -0x10(%rbp), %rax
movq %rax, -0x120(%rbp)
movl $0x8, %edi
callq 0x1ee10
movq %rax, %rdi
movq %rdi, -0x118(%rbp)
callq 0x2b7a0
movq -0x120(%rbp), %rdi
movq -0x118(%rbp), %rsi
callq 0x23150
jmp 0x2a822
cmpl $0x24, -0x14(%rbp)
jne 0x2a45b
movq -0x48(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x29e40
movq -0x10(%rbp), %rax
movq %rax, -0x130(%rbp)
movl $0x8, %edi
callq 0x1ee10
movq %rax, %rdi
movq %rdi, -0x128(%rbp)
callq 0x2b7e0
movq -0x130(%rbp), %rdi
movq -0x128(%rbp), %rsi
callq 0x23150
jmp 0x2a820
cmpl $0x7, -0x14(%rbp)
jne 0x2a4b6
movq -0x48(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x29e40
movq -0x10(%rbp), %rax
movq %rax, -0x140(%rbp)
movl $0x8, %edi
callq 0x1ee10
movq %rax, %rdi
movq %rdi, -0x138(%rbp)
callq 0x1ee30
movq -0x140(%rbp), %rdi
movq -0x138(%rbp), %rsi
callq 0x23150
jmp 0x2a81e
cmpl $0x8, -0x14(%rbp)
jne 0x2a511
movq -0x48(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x29e40
movq -0x10(%rbp), %rax
movq %rax, -0x150(%rbp)
movl $0x8, %edi
callq 0x1ee10
movq %rax, %rdi
movq %rdi, -0x148(%rbp)
callq 0x1ee70
movq -0x150(%rbp), %rdi
movq -0x148(%rbp), %rsi
callq 0x23150
jmp 0x2a81c
cmpl $0x1, -0x14(%rbp)
jne 0x2a59d
movq -0x48(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
movq -0x10(%rbp), %rax
movq %rax, -0x160(%rbp)
movl $0x10, %edi
callq 0x28160
movq %rax, %rdi
movq -0x48(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x158(%rbp)
movq (%rax), %rsi
addq $0x68, %rsi
callq 0x28180
jmp 0x2a55b
movq -0x158(%rbp), %rsi
movq -0x160(%rbp), %rdi
callq 0x23150
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x28280
jmp 0x2a81a
movq -0x158(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
callq 0x28210
jmp 0x2a83b
cmpl $0x2, -0x14(%rbp)
jne 0x2a628
movq -0x48(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
movq -0x10(%rbp), %rax
movq %rax, -0x170(%rbp)
movl $0x10, %edi
callq 0x2b820
movq %rax, %rdi
movq -0x48(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x168(%rbp)
movq (%rax), %rax
movl 0x5c(%rax), %esi
callq 0x2b840
jmp 0x2a5e6
movq -0x168(%rbp), %rsi
movq -0x170(%rbp), %rdi
callq 0x23150
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x28280
jmp 0x2a818
movq -0x168(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
callq 0x2b8e0
jmp 0x2a83b
cmpl $0x3, -0x14(%rbp)
jne 0x2a6b4
movq -0x48(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
movq -0x10(%rbp), %rax
movq %rax, -0x180(%rbp)
movl $0x10, %edi
callq 0x2b910
movq %rax, %rdi
movq -0x48(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x178(%rbp)
movq (%rax), %rax
movslq 0x5c(%rax), %rsi
callq 0x2b930
jmp 0x2a672
movq -0x178(%rbp), %rsi
movq -0x180(%rbp), %rdi
callq 0x23150
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x28280
jmp 0x2a816
movq -0x178(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
callq 0x2ba10
jmp 0x2a83b
cmpl $0x4, -0x14(%rbp)
jne 0x2a741
movq -0x48(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
movq -0x10(%rbp), %rax
movq %rax, -0x190(%rbp)
movl $0x10, %edi
callq 0x2ba40
movq %rax, %rdi
movq -0x48(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x188(%rbp)
movq (%rax), %rax
movsd 0x60(%rax), %xmm0
callq 0x2ba60
jmp 0x2a6ff
movq -0x188(%rbp), %rsi
movq -0x190(%rbp), %rdi
callq 0x23150
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x28280
jmp 0x2a814
movq -0x188(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
callq 0x2bb00
jmp 0x2a83b
cmpl $0x5, -0x14(%rbp)
jne 0x2a7c3
movq -0x48(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
movq -0x10(%rbp), %rax
movq %rax, -0x1a0(%rbp)
movl $0x10, %edi
callq 0x2bb30
movq %rax, %rdi
movq -0x48(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x198(%rbp)
movq (%rax), %rsi
addq $0x68, %rsi
callq 0x2bb50
jmp 0x2a787
movq -0x198(%rbp), %rsi
movq -0x1a0(%rbp), %rdi
callq 0x23150
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x28280
jmp 0x2a812
movq -0x198(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
callq 0x2bbf0
jmp 0x2a83b
cmpl $0x0, -0x14(%rbp)
jge 0x2a7e8
movq -0x48(%rbp), %rdi
movl $0x7, %esi
xorl %edx, %edx
leaq 0x14208(%rip), %rcx     # 0x3e9e3
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
callq 0x27d80
jmp 0x2a806
movq -0x48(%rbp), %rdi
movl -0x14(%rbp), %edx
movl $0x6, %esi
leaq 0x141e8(%rip), %rcx     # 0x3e9e3
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
callq 0x27d80
movq -0x48(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
jmp 0x2a814
jmp 0x2a816
jmp 0x2a818
jmp 0x2a81a
jmp 0x2a81c
jmp 0x2a81e
jmp 0x2a820
jmp 0x2a822
jmp 0x2a824
jmp 0x2a826
jmp 0x2a828
jmp 0x2a82a
jmp 0x2a82c
jmp 0x2a82e
jmp 0x2a830
jmp 0x2a832
addq $0x1a0, %rsp            # imm = 0x1A0
popq %rbp
retq
movq -0x28(%rbp), %rdi
callq 0xc280
nopw %cs:(%rax,%rax)
nop