// File: /workspace/github_cpp_makefile_star2_O2/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
pushq %rax
xorl %r15d, %r15d
movq 0x7536(%rip), %r14      # 0x13fd0
leaq 0xa1dff(%rip), %r12     # 0xae8a0
leaq 0x1b19(%rip), %rbp      # 0xe5c1
leaq 0x241ec1(%rip), %rbx    # 0x24e970
cmpq $0x4c, %r15
je 0xcc8c
movq %r14, %rdi
leaq 0x1838(%rip), %rsi      # 0xe2fb
callq 0x21d0
movq %rax, %rdi
movl %r15d, %esi
callq 0x2320
movq %rax, %rdi
leaq 0x2740(%rip), %rsi      # 0xf21d
callq 0x21d0
imulq $0xd0, %r15, %r13
movl 0x4(%r13,%r12), %eax
leaq 0x241833(%rip), %rcx    # 0x24e328
pushq $0x28
popq %rdx
decq %rdx
je 0xcb11
leaq 0x28(%rcx), %rsi
cmpl 0x48(%rcx), %eax
movq %rsi, %rcx
jne 0xcaf8
movq %r14, %rdi
callq 0x21c0
movq %r15, (%rsp)
movq %r14, %rdi
leaq 0x2703(%rip), %rsi      # 0xf222
callq 0x21d0
addq %r12, %r13
xorl %r12d, %r12d
movl 0x8(%r13,%r12,4), %eax
testl %eax, %eax
js 0xcb88
cmpl $0x64, %eax
jae 0xcb55
leaq 0x2417e9(%rip), %rcx    # 0x24e328
pushq $0x28
popq %rdx
decq %rdx
je 0xcb83
leaq 0x28(%rcx), %rsi
cmpl 0x48(%rcx), %eax
movq %rsi, %rcx
jne 0xcb42
jmp 0xcb70
leaq 0x241dec(%rip), %rcx    # 0x24e948
pushq $0x2a
popq %rdx
decq %rdx
je 0xcb83
leaq 0x28(%rcx), %rsi
cmpl 0x48(%rcx), %eax
movq %rsi, %rcx
jne 0xcb5f
movq %r14, %rdi
callq 0x21c0
movq %rax, %rdi
movq %rbp, %rsi
callq 0x21d0
incq %r12
jmp 0xcb2a
movq %r14, %rdi
callq 0x20f0
movq %r14, %rdi
leaq 0x2805(%rip), %rsi      # 0xf39f
callq 0x21d0
xorl %r12d, %r12d
cmpl $-0x1, 0x30(%r13,%r12,4)
je 0xcbe4
xorl %r15d, %r15d
cmpq $0x668, %r15            # imm = 0x668
je 0xcbdf
movl 0x20(%r15,%rbx), %eax
cmpl 0x30(%r13,%r12,4), %eax
jne 0xcbd9
leaq (%rbx,%r15), %rsi
movq %r14, %rdi
callq 0x21c0
movq %rax, %rdi
movq %rbp, %rsi
callq 0x21d0
addq $0x28, %r15
jmp 0xcbad
incq %r12
jmp 0xcba2
movq %r14, %rdi
callq 0x20f0
movq %r14, %rdi
leaq 0x27b5(%rip), %rsi      # 0xf3ab
callq 0x21d0
xorl %r12d, %r12d
cmpq $0x14, %r12
je 0xcc69
cmpl $0x8d, 0x80(%r13,%r12,4)
jne 0xcc31
movq %r14, %rdi
leaq 0x260b(%rip), %rsi      # 0xf227
callq 0x21d0
movq %rax, %rdi
movq %rbp, %rsi
callq 0x21d0
incq %r12
jmp 0xcbfe
xorl %r15d, %r15d
cmpq $0x668, %r15            # imm = 0x668
je 0xcc2c
movl 0x20(%r15,%rbx), %eax
cmpl 0x80(%r13,%r12,4), %eax
jne 0xcc63
leaq (%rbx,%r15), %rsi
movq %r14, %rdi
callq 0x21c0
movq %rax, %rdi
movq %rbp, %rsi
callq 0x21d0
addq $0x28, %r15
jmp 0xcc34
movq %r14, %rdi
callq 0x20f0
movq %r14, %rdi
callq 0x20f0
movq (%rsp), %r15
incq %r15
leaq 0xa1c19(%rip), %r12     # 0xae8a0
jmp 0xcaaf
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop