// File: /workspace/github_cpp_makefile_star2_O1/Silica[P]PSL/./PSL/parser.h
// Function: PSL::variable::Parser::Error(PSL::variable::Parser::ErrorID, int, char const*, int)
void Error(ErrorID n, int op = 0, const char *str = "", int line = -1)
	{
		if (line < 0)
			line = t->getLine();
		if (n < WARNING)
		{
			++error;
			PSL_PRINTF(("error %s %d,%d: ", t->getFile().c_str(), line, t->getByte()));
		}
		else
		{
			PSL_PRINTF(("warning %s %d,%d: ", t->getFile().c_str(), line, t->getByte()));
		}
		switch (n)
		{
		case TINA:	PSL_PRINTF(("There is no %c after %s\n", op, str));break;
		case TINSC:	PSL_PRINTF(("There is no %s-statement condition\n", str));break;
		case TINLAG:PSL_PRINTF(("There is no label after goto\n"));break;
		case NOTT:	PSL_PRINTF(("not term : %c\n", op));break;
		case UKT:	PSL_PRINTF(("unknown token\n"));break;
		case TINIA:	PSL_PRINTF(("There is no identifier after %s\n", str));break;
		case TINCOT:PSL_PRINTF(("There is no : on ternary operation\n"));break;
		case TINAE:	PSL_PRINTF(("There is no %c at expression end\n", op));break;
		case IIAE:	PSL_PRINTF(("'%s' is already exsit\n", str));break;
		case BINC:	PSL_PRINTF(("block not closed from %d\n", op));break;
		default:	PSL_PRINTF(("unknown error\n"));
		}
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %r15d
movq %rcx, %rbx
movl %edx, %ebp
movl %esi, %r14d
movq %rdi, %r12
testl %r8d, %r8d
jns 0x1bde6
movq (%r12), %rdi
callq 0x1bf6c
movl %eax, %r15d
cmpl $0x9, %r14d
jg 0x1be14
incl 0x8(%r12)
movq (%r12), %rdi
callq 0x19676
movq (%rax), %rax
testq %rax, %rax
je 0x1be37
movq 0x8(%rax), %rcx
movq 0x18(%rax), %rdx
movb $0x0, (%rcx,%rdx)
movq 0x8(%rax), %r13
jmp 0x1be3e
movq (%r12), %rdi
callq 0x19676
movq (%rax), %rax
testq %rax, %rax
je 0x1be50
movq 0x8(%rax), %rcx
movq 0x18(%rax), %rdx
movb $0x0, (%rcx,%rdx)
movq 0x8(%rax), %r13
jmp 0x1be57
leaq 0xc8b4(%rip), %r13      # 0x286f2
movq (%r12), %rdi
callq 0x2221e
leaq 0xca86(%rip), %rdi      # 0x288d4
jmp 0x1be67
leaq 0xc89b(%rip), %r13      # 0x286f2
movq (%r12), %rdi
callq 0x2221e
leaq 0xca7e(%rip), %rdi      # 0x288e5
movq %r13, %rsi
movl %r15d, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0xc050
addl $-0x2, %r14d
cmpl $0xa, %r14d
ja 0x1bede
leaq 0xc381(%rip), %rax      # 0x28208
movslq (%rax,%r14,4), %rcx
addq %rax, %rcx
jmpq *%rcx
leaq 0xca61(%rip), %rdi      # 0x288f8
movl %ebp, %esi
movq %rbx, %rdx
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xc050
leaq 0xcc5e(%rip), %rdi      # 0x28b16
jmp 0x1bee5
leaq 0xcc47(%rip), %rdi      # 0x28b08
jmp 0x1bee5
leaq 0xca47(%rip), %rdi      # 0x28911
jmp 0x1bf2f
leaq 0xcc12(%rip), %rdi      # 0x28ae5
jmp 0x1bee5
leaq 0xca89(%rip), %rdi      # 0x28965
jmp 0x1bf11
leaq 0xcc4e(%rip), %rdi      # 0x28b33
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xc240
leaq 0xca45(%rip), %rdi      # 0x28944
jmp 0x1bf2f
leaq 0xca2d(%rip), %rdi      # 0x28935
jmp 0x1bf11
leaq 0xca8d(%rip), %rdi      # 0x2899e
movl %ebp, %esi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xc050
leaq 0xca58(%rip), %rdi      # 0x28987
movq %rbx, %rsi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xc050
nop