// File: Davidc2525[P]Leaf/parser/Parser.cpp
// Function: Errors::SynErr(int, int, int)
void Errors::SynErr(int line, int col, int n) {
	wchar_t* s;
	switch (n) {
			case 0: s = coco_string_create(L"EOF expected"); break;
			case 1: s = coco_string_create(L"t_pointer expected"); break;
			case 2: s = coco_string_create(L"t_r_pointer expected"); break;
			case 3: s = coco_string_create(L"number expected"); break;
			case 4: s = coco_string_create(L"name expected"); break;
			case 5: s = coco_string_create(L"charConst expected"); break;
			case 6: s = coco_string_create(L"stringConst expected"); break;
			case 7: s = coco_string_create(L"floatLit expected"); break;
			case 8: s = coco_string_create(L"binaryLit expected"); break;
			case 9: s = coco_string_create(L"\"{\" expected"); break;
			case 10: s = coco_string_create(L"\"}\" expected"); break;
			case 11: s = coco_string_create(L"\";\" expected"); break;
			case 12: s = coco_string_create(L"\"=\" expected"); break;
			case 13: s = coco_string_create(L"\"class\" expected"); break;
			case 14: s = coco_string_create(L"\"print\" expected"); break;
			case 15: s = coco_string_create(L"\"(\" expected"); break;
			case 16: s = coco_string_create(L"\")\" expected"); break;
			case 17: s = coco_string_create(L"\"sizeof\" expected"); break;
			case 18: s = coco_string_create(L"\"ret\" expected"); break;
			case 19: s = coco_string_create(L"\"if\" expected"); break;
			case 20: s = coco_string_create(L"\"else\" expected"); break;
			case 21: s = coco_string_create(L"\"throw\" expected"); break;
			case 22: s = coco_string_create(L"\"try\" expected"); break;
			case 23: s = coco_string_create(L"\"catch\" expected"); break;
			case 24: s = coco_string_create(L"\":\" expected"); break;
			case 25: s = coco_string_create(L"\",\" expected"); break;
			case 26: s = coco_string_create(L"\"[\" expected"); break;
			case 27: s = coco_string_create(L"\"]\" expected"); break;
			case 28: s = coco_string_create(L"\"extern\" expected"); break;
			case 29: s = coco_string_create(L"\"fun\" expected"); break;
			case 30: s = coco_string_create(L"\"<<\" expected"); break;
			case 31: s = coco_string_create(L"\">>\" expected"); break;
			case 32: s = coco_string_create(L"\"~\" expected"); break;
			case 33: s = coco_string_create(L"\"|\" expected"); break;
			case 34: s = coco_string_create(L"\"^\" expected"); break;
			case 35: s = coco_string_create(L"\"&&\" expected"); break;
			case 36: s = coco_string_create(L"\"||\" expected"); break;
			case 37: s = coco_string_create(L"\"==\" expected"); break;
			case 38: s = coco_string_create(L"\"!=\" expected"); break;
			case 39: s = coco_string_create(L"\">\" expected"); break;
			case 40: s = coco_string_create(L"\">=\" expected"); break;
			case 41: s = coco_string_create(L"\"<\" expected"); break;
			case 42: s = coco_string_create(L"\"<=\" expected"); break;
			case 43: s = coco_string_create(L"\"+\" expected"); break;
			case 44: s = coco_string_create(L"\"-\" expected"); break;
			case 45: s = coco_string_create(L"\"/\" expected"); break;
			case 46: s = coco_string_create(L"\"%\" expected"); break;
			case 47: s = coco_string_create(L"\"true\" expected"); break;
			case 48: s = coco_string_create(L"\"false\" expected"); break;
			case 49: s = coco_string_create(L"\".\" expected"); break;
			case 50: s = coco_string_create(L"??? expected"); break;
			case 51: s = coco_string_create(L"invalid Statement"); break;
			case 52: s = coco_string_create(L"invalid Statement"); break;
			case 53: s = coco_string_create(L"invalid Statement"); break;
			case 54: s = coco_string_create(L"invalid Statement"); break;
			case 55: s = coco_string_create(L"invalid Designator"); break;
			case 56: s = coco_string_create(L"invalid Designator"); break;
			case 57: s = coco_string_create(L"invalid FuncDecl"); break;
			case 58: s = coco_string_create(L"invalid VarDcl"); break;
			case 59: s = coco_string_create(L"invalid VarDirectDcl"); break;
			case 60: s = coco_string_create(L"invalid VarSuffix"); break;
			case 61: s = coco_string_create(L"invalid FuncDcl"); break;
			case 62: s = coco_string_create(L"invalid FuncDirectDcl"); break;
			case 63: s = coco_string_create(L"invalid FuncSuffix"); break;
			case 64: s = coco_string_create(L"invalid Factor"); break;

		default:
		{
			wchar_t format[20];
			coco_swprintf(format, 20, L"error %d", n);
			s = coco_string_create(format);
		}
		break;
	}
	printMsg(line, col, s);
	coco_string_delete(s);
	count++;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl %ecx, -0x14(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x80(%rbp)
movl -0x14(%rbp), %eax
movq %rax, -0x78(%rbp)
subq $0x40, %rax
ja 0x131bb
movq -0x78(%rbp), %rax
leaq 0x21ae8(%rip), %rcx     # 0x34754
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x21f30(%rip), %rdi     # 0x34bac
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x21f4f(%rip), %rdi     # 0x34be0
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x21f86(%rip), %rdi     # 0x34c2c
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x21fc5(%rip), %rdi     # 0x34c80
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x21ff0(%rip), %rdi     # 0x34cc0
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22013(%rip), %rdi     # 0x34cf8
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x2204a(%rip), %rdi     # 0x34d44
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22089(%rip), %rdi     # 0x34d98
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x220bc(%rip), %rdi     # 0x34de0
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x220f3(%rip), %rdi     # 0x34e2c
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22112(%rip), %rdi     # 0x34e60
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22131(%rip), %rdi     # 0x34e94
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22150(%rip), %rdi     # 0x34ec8
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x2216f(%rip), %rdi     # 0x34efc
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x2219e(%rip), %rdi     # 0x34f40
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x221cd(%rip), %rdi     # 0x34f84
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x221ec(%rip), %rdi     # 0x34fb8
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x2220b(%rip), %rdi     # 0x34fec
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x2223e(%rip), %rdi     # 0x35034
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22265(%rip), %rdi     # 0x35070
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22288(%rip), %rdi     # 0x350a8
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x222b3(%rip), %rdi     # 0x350e8
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x222e2(%rip), %rdi     # 0x3512c
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22309(%rip), %rdi     # 0x35168
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22338(%rip), %rdi     # 0x351ac
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22357(%rip), %rdi     # 0x351e0
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22376(%rip), %rdi     # 0x35214
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22395(%rip), %rdi     # 0x35248
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x223b4(%rip), %rdi     # 0x3527c
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x223e7(%rip), %rdi     # 0x352c4
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x2240e(%rip), %rdi     # 0x35300
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22431(%rip), %rdi     # 0x35338
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22454(%rip), %rdi     # 0x35370
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22473(%rip), %rdi     # 0x353a4
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22492(%rip), %rdi     # 0x353d8
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x224b1(%rip), %rdi     # 0x3540c
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x224d4(%rip), %rdi     # 0x35444
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x224f7(%rip), %rdi     # 0x3547c
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x2251a(%rip), %rdi     # 0x354b4
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x2253d(%rip), %rdi     # 0x354ec
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x2255c(%rip), %rdi     # 0x35520
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x2257f(%rip), %rdi     # 0x35558
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x2259e(%rip), %rdi     # 0x3558c
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x225c1(%rip), %rdi     # 0x355c4
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x225e0(%rip), %rdi     # 0x355f8
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x225ff(%rip), %rdi     # 0x3562c
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x2261e(%rip), %rdi     # 0x35660
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x2263d(%rip), %rdi     # 0x35694
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22668(%rip), %rdi     # 0x356d4
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22697(%rip), %rdi     # 0x35718
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x226b6(%rip), %rdi     # 0x3574c
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x226d5(%rip), %rdi     # 0x35780
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x226c0(%rip), %rdi     # 0x35780
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x226ab(%rip), %rdi     # 0x35780
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22696(%rip), %rdi     # 0x35780
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x226c9(%rip), %rdi     # 0x357c8
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x226b4(%rip), %rdi     # 0x357c8
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x226eb(%rip), %rdi     # 0x35814
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x2271a(%rip), %rdi     # 0x35858
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22741(%rip), %rdi     # 0x35894
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22780(%rip), %rdi     # 0x358e8
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x227b6(%rip), %rdi     # 0x35930
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x227e4(%rip), %rdi     # 0x35970
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x2282a(%rip), %rdi     # 0x359c8
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq 0x22864(%rip), %rdi     # 0x35a14
callq 0xeb30
movq %rax, -0x20(%rbp)
jmp 0x131e2
leaq -0x70(%rbp), %rdi
movl -0x14(%rbp), %ecx
movl $0x14, %esi
leaq 0x22882(%rip), %rdx     # 0x35a50
movb $0x0, %al
callq 0x6470
leaq -0x70(%rbp), %rdi
callq 0xeb30
movq %rax, -0x20(%rbp)
movq -0x80(%rbp), %rdi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
movq -0x20(%rbp), %rcx
callq 0x170a0
leaq -0x20(%rbp), %rdi
callq 0xf000
movq -0x80(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)