// File: /workspace/github_cpp_makefile_star2_O3/zhengwangsun[P]pas2c/grammar.cpp
// Function: printfG()
void printfG()
{
	for(int i=0;i<GenerationNum;i++)
	{
		cout<<"第"<<i<<"个:";
		for(int j=0;j<VNnum;j++)	
		{
	  		if(g[i].left==vn[j].value)
	  		{
	  			cout<<vn[j].name;
	  			break;
			}
		}
		cout<<" -> ";
		int k=0;
		while(g[i].right[k]>=0)
		{
	  		if(g[i].right[k]<100)
	  	  	{
				for(int j=0;j<VNnum;j++)
	  			{
	  	  			if(g[i].right[k]==vn[j].value)
	  	  			{
	  	  	  			cout<<vn[j].name<<" ";
	  	  	  			break;
					}
				}
			}
			else
			{
				for(int j=100;j<100+VTnum;j++)
	  			{
	  	  			if(g[i].right[k]==vt[j-100].value)
	  	  			{
	  	  	  			cout<<vt[j-100].name<<" ";
	  	  	  			break;
			  		}
		  		}
			}
	  	k++;	  
		}
		cout<<endl;
		cout<<"FIRST : ";
		int m=0;
		while(g[i].FIRST[m]!=-1)
		{
			for(int ii=0;ii<=40;ii++)
			{
				if(vt[ii].value==g[i].FIRST[m])
					cout<<vt[ii].name<<" ";
			}
			m++;
		}
		cout<<endl;
		cout<<"FOLLOW: ";
		for(int m=0;m<FOLLOWnum;m++)
		{
			if(g[i].FOLLOW[m]==$)
				cout<<"$"<<" ";
			else
			{
				for(int ii=0;ii<=40;ii++)
				{
					if(vt[ii].value==g[i].FOLLOW[m])
						cout<<vt[ii].name<<" ";
				}
			}	
		}
		cout<<endl;
		cout<<endl;
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
xorl %ebx, %ebx
movq 0x6b60(%rip), %r14      # 0x18fd0
leaq 0xa1459(%rip), %r12     # 0xb38d0
leaq 0x240f02(%rip), %rbp    # 0x253380
leaq 0x24151b(%rip), %r15    # 0x2539a0
movl $0x3, %edx
movq %r14, %rdi
leaq 0xe0f(%rip), %rsi       # 0x132a3
callq 0x2280
movq %r14, %rdi
movl %ebx, %esi
callq 0x2390
movl $0x4, %edx
movq %rax, %rdi
leaq 0x1d28(%rip), %rsi      # 0x141da
callq 0x2280
movq %rbx, 0x8(%rsp)
imulq $0xd0, %rbx, %rbx
movl 0x4(%rbx,%r12), %ecx
xorl %eax, %eax
cmpl 0x20(%rax,%rbp), %ecx
je 0x124de
addq $0x28, %rax
cmpq $0x618, %rax            # imm = 0x618
jne 0x124ca
jmp 0x124ef
movq (%rax,%rbp), %rsi
movq 0x8(%rax,%rbp), %rdx
movq %r14, %rdi
callq 0x2280
movl $0x4, %edx
movq %r14, %rdi
leaq 0x1ce1(%rip), %rsi      # 0x141df
callq 0x2280
leaq (%r12,%rbx), %r13
movl 0x8(%rbx,%r12), %eax
testl %eax, %eax
js 0x1257b
xorl %ebx, %ebx
xorl %ecx, %ecx
cmpl $0x64, %eax
jae 0x1252e
cmpl 0x20(%rcx,%rbp), %eax
je 0x12544
addq $0x28, %rcx
cmpq $0x618, %rcx            # imm = 0x618
jne 0x12519
jmp 0x1256f
cmpl 0x20(%rcx,%r15), %eax
je 0x12549
addq $0x28, %rcx
cmpq $0x668, %rcx            # imm = 0x668
jne 0x1252e
jmp 0x1256f
addq %rbp, %rcx
jmp 0x1254c
addq %r15, %rcx
movq (%rcx), %rsi
movq 0x8(%rcx), %rdx
movq %r14, %rdi
callq 0x2280
movl $0x1, %edx
movq %rax, %rdi
leaq 0x1027(%rip), %rsi      # 0x13591
callq 0x2280
movl 0xc(%r13,%rbx,4), %eax
incq %rbx
testl %eax, %eax
jns 0x12512
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
movl $0x8, %edx
movq %r14, %rdi
leaq 0x1dab(%rip), %rsi      # 0x1435c
callq 0x2280
cmpl $-0x1, 0x30(%r13)
je 0x1261c
leaq 0x30(%r13), %rbx
xorl %r12d, %r12d
movq %rbx, 0x10(%rsp)
xorl %ebp, %ebp
movl 0x20(%rbp,%r15), %eax
cmpl (%rbx), %eax
jne 0x125fa
movq (%rbp,%r15), %rsi
movq 0x8(%rbp,%r15), %rdx
movq %r14, %rdi
callq 0x2280
movl $0x1, %edx
movq %rax, %rdi
leaq 0xf9c(%rip), %rsi       # 0x13591
callq 0x2280
addq $0x28, %rbp
cmpq $0x668, %rbp            # imm = 0x668
jne 0x125cb
movq 0x10(%rsp), %rax
leaq (%rax,%r12,4), %rbx
addq $0x4, %rbx
incq %r12
cmpl $-0x1, (%rbx)
jne 0x125c9
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
movl $0x8, %edx
movq %r14, %rdi
leaq 0x1d16(%rip), %rsi      # 0x14368
callq 0x2280
xorl %ebx, %ebx
leaq 0x240d20(%rip), %rbp    # 0x253380
cmpl $0x8d, 0x80(%r13,%rbx,4)
jne 0x12698
movl $0x1, %edx
movq %r14, %rdi
leaq 0x1b67(%rip), %rsi      # 0x141e4
callq 0x2280
movl $0x1, %edx
movq %r14, %rdi
leaq 0xf00(%rip), %rsi       # 0x13591
callq 0x2280
jmp 0x126dc
xorl %r12d, %r12d
movl 0x20(%r12,%r15), %eax
cmpl 0x80(%r13,%rbx,4), %eax
jne 0x126cf
movq (%r12,%r15), %rsi
movq 0x8(%r12,%r15), %rdx
movq %r14, %rdi
callq 0x2280
movl $0x1, %edx
movq %rax, %rdi
leaq 0xec7(%rip), %rsi       # 0x13591
callq 0x2280
addq $0x28, %r12
cmpq $0x668, %r12            # imm = 0x668
jne 0x1269b
incq %rbx
cmpq $0x14, %rbx
jne 0x12660
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
movq 0x8(%rsp), %rbx
incq %rbx
cmpq $0x4c, %rbx
leaq 0xa1186(%rip), %r12     # 0xb38d0
jne 0x12485
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop