// File: Davidc2525[P]Leaf/parser/Parser.cpp
// Function: Errors::printMsg(int, int, wchar_t const*)
void Errors::printMsg(int line, int col, const wchar_t *s){
	string buff = "";
	int b,li;
	li = 1;
	scanner->buffer->SetPos(0);
	while(true){
	
		b =  scanner->buffer->Read(); 
		if(b == scanner->buffer->EoF)
		 	break;
		else{
			buff.append(string((char*)&b));
			if(b==10){

			
				if(li==line){

						printf(" <-- linea %d columna %d: %ls\n", line, col, s);

				}
				if(li >= line-2 && li <= line+2)
					cout<<endl;
				
				li++;
			}else{
				if(li >= line-2 && li <= line+2)
					cout<<(char)b;
			}
		}
	}
	
			
	//printf("%ls\n",	scanner->buffer->GetString(scanner->buffer->GetPos()-(line+col),scanner->buffer->GetPos()+(line+col)));
	
	//cout<<buff<<endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq -0x39(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x6500
movq -0x88(%rbp), %rdx
leaq 0x1ea8b(%rip), %rsi     # 0x35b6d
leaq -0x38(%rbp), %rdi
callq 0xada0
jmp 0x170ed
leaq -0x39(%rbp), %rdi
callq 0x6340
movq -0x90(%rbp), %rax
movl $0x1, -0x54(%rbp)
movq 0x8(%rax), %rax
movq 0x98(%rax), %rdi
movq (%rdi), %rax
movq 0x38(%rax), %rax
xorl %esi, %esi
callq *%rax
jmp 0x1711c
jmp 0x1711e
jmp 0x17120
movq -0x90(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x98(%rax), %rdi
movq (%rdi), %rax
movq 0x18(%rax), %rax
callq *%rax
movl %eax, -0x94(%rbp)
jmp 0x17143
movl -0x94(%rbp), %eax
movl %eax, -0x50(%rbp)
cmpl $0x10000, -0x50(%rbp)   # imm = 0x10000
jne 0x17185
jmp 0x1729e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x39(%rbp), %rdi
callq 0x6340
jmp 0x172b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x172b0
leaq -0x79(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
callq 0x6500
movq -0xa0(%rbp), %rdx
leaq -0x78(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0xada0
jmp 0x171ab
leaq -0x38(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x6550
jmp 0x171ba
leaq -0x78(%rbp), %rdi
callq 0x6588
leaq -0x79(%rbp), %rdi
callq 0x6340
cmpl $0xa, -0x50(%rbp)
jne 0x17267
movl -0x54(%rbp), %eax
cmpl -0xc(%rbp), %eax
jne 0x1722b
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
movq -0x18(%rbp), %rcx
leaq 0x1d905(%rip), %rdi     # 0x34af4
xorl %eax, %eax
callq 0x6070
jmp 0x171f8
jmp 0x1722b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x1721d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x6588
leaq -0x79(%rbp), %rdi
callq 0x6340
jmp 0x172b0
movl -0x54(%rbp), %eax
movl -0xc(%rbp), %ecx
subl $0x2, %ecx
cmpl %ecx, %eax
jl 0x1725c
movl -0x54(%rbp), %eax
movl -0xc(%rbp), %ecx
addl $0x2, %ecx
cmpl %ecx, %eax
jg 0x1725c
movq 0x32d84(%rip), %rdi     # 0x49fd0
movq 0x32d5d(%rip), %rsi     # 0x49fb0
callq 0x6320
jmp 0x1725a
jmp 0x1725c
movl -0x54(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x54(%rbp)
jmp 0x17297
movl -0x54(%rbp), %eax
movl -0xc(%rbp), %ecx
subl $0x2, %ecx
cmpl %ecx, %eax
jl 0x17295
movl -0x54(%rbp), %eax
movl -0xc(%rbp), %ecx
addl $0x2, %ecx
cmpl %ecx, %eax
jg 0x17295
movsbl -0x50(%rbp), %esi
movq 0x32d44(%rip), %rdi     # 0x49fd0
callq 0x63a0
jmp 0x17293
jmp 0x17295
jmp 0x17297
jmp 0x17299
jmp 0x1711e
leaq -0x38(%rbp), %rdi
callq 0x6588
addq $0xa0, %rsp
popq %rbp
retq
leaq -0x38(%rbp), %rdi
callq 0x6588
movq -0x48(%rbp), %rdi
callq 0x64f0
nopw %cs:(%rax,%rax)