// File: Blaze2305[P]Compiler-Design-2021-Assignment/src/Parser/Parser.cpp
// Function: Parser::parseType()
void Parser::parseType(){
	tabNum+=1;
	printParseEnters(tabNum,tabChar,"parseType");
	std::string tempType = this->currentToken.Value;
	int tempLineNum = this->currentToken.lineNumber;
	accept(Type);
	for(std::string symbol : this->symbolNamesList){
		this->symtab.addSymbolToTable(symbol,tempLineNum,tempType);
	}
	this->symbolNamesList.clear();
	tabNum-=1;
	printParseExits(tabNum,tabChar,"parseType");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x140, %rsp            # imm = 0x140
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x120(%rbp)
movl 0x13bec(%rip), %eax     # 0x222cc
incl %eax
movl %eax, 0x13be4(%rip)     # 0x222cc
movl 0x13bde(%rip), %eax     # 0x222cc
movl %eax, -0x118(%rbp)
movb 0x13bce(%rip), %al      # 0x222c8
movb %al, -0x111(%rbp)
leaq -0x29(%rbp), %rdi
movq %rdi, -0x110(%rbp)
callq 0x3510
movq -0x110(%rbp), %rdx
leaq 0xaba6(%rip), %rsi      # 0x192c4
leaq -0x28(%rbp), %rdi
callq 0xb640
jmp 0xe729
movl -0x118(%rbp), %edi
movb -0x111(%rbp), %al
movsbl %al, %esi
leaq -0x28(%rbp), %rdx
callq 0x15530
jmp 0xe743
leaq -0x28(%rbp), %rdi
callq 0x3558
leaq -0x29(%rbp), %rdi
callq 0x3300
movq -0x120(%rbp), %rsi
addq $0x8, %rsi
leaq -0x60(%rbp), %rdi
callq 0x3120
movq -0x120(%rbp), %rdi
movl 0x28(%rdi), %eax
movl %eax, -0x64(%rbp)
movl $0x2, %esi
callq 0xd670
jmp 0xe782
movq -0x120(%rbp), %rax
addq $0x70, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rdi
callq 0x10660
movq %rax, -0x78(%rbp)
movq -0x70(%rbp), %rdi
callq 0x10690
movq %rax, -0x80(%rbp)
leaq -0x78(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x106c0
testb $0x1, %al
jne 0xe7c1
jmp 0xe904
leaq -0x78(%rbp), %rdi
callq 0x10700
movq %rax, %rsi
leaq -0xa0(%rbp), %rdi
callq 0x3120
jmp 0xe7db
movq -0x120(%rbp), %rax
addq $0x38, %rax
movq %rax, -0x128(%rbp)
leaq -0xc0(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x3120
jmp 0xe802
movl -0x64(%rbp), %eax
movl %eax, -0x12c(%rbp)
leaq -0xe0(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x3120
jmp 0xe81d
movl -0x12c(%rbp), %edx
movq -0x128(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
leaq -0xe0(%rbp), %rcx
callq 0x12a90
jmp 0xe83f
leaq -0xe0(%rbp), %rdi
callq 0x3558
leaq -0xc0(%rbp), %rdi
callq 0x3558
leaq -0xa0(%rbp), %rdi
callq 0x3558
leaq -0x78(%rbp), %rdi
callq 0x10720
jmp 0xe7ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe894
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x3558
leaq -0x29(%rbp), %rdi
callq 0x3300
jmp 0xe9eb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe9e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe8f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe8e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0x3558
leaq -0xc0(%rbp), %rdi
callq 0x3558
leaq -0xa0(%rbp), %rdi
callq 0x3558
jmp 0xe9e2
movq -0x120(%rbp), %rdi
addq $0x70, %rdi
callq 0x10740
movl 0x139b2(%rip), %eax     # 0x222cc
decl %eax
movl %eax, 0x139aa(%rip)     # 0x222cc
movl 0x139a4(%rip), %eax     # 0x222cc
movl %eax, -0x140(%rbp)
movb 0x13994(%rip), %al      # 0x222c8
movb %al, -0x139(%rbp)
leaq -0x101(%rbp), %rdi
movq %rdi, -0x138(%rbp)
callq 0x3510
movq -0x138(%rbp), %rdx
leaq 0xa969(%rip), %rsi      # 0x192c4
leaq -0x100(%rbp), %rdi
callq 0xb640
jmp 0xe969
movl -0x140(%rbp), %edi
movb -0x139(%rbp), %al
movsbl %al, %esi
leaq -0x100(%rbp), %rdx
callq 0x15550
jmp 0xe986
leaq -0x100(%rbp), %rdi
callq 0x3558
leaq -0x101(%rbp), %rdi
callq 0x3300
leaq -0x60(%rbp), %rdi
callq 0x3558
addq $0x140, %rsp            # imm = 0x140
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe9d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x3558
leaq -0x101(%rbp), %rdi
callq 0x3300
leaq -0x60(%rbp), %rdi
callq 0x3558
movq -0x38(%rbp), %rdi
callq 0x3500
nopw %cs:(%rax,%rax)