// File: /workspace/github_cpp_makefile_star2_O2/zhengwangsun[P]pas2c/lex.cpp
// Function: makeFile()
void makeFile()
{
	ofstream fp("lexout.txt");
	if(!fp)
	{
		fp<<"词法分析写入文件失败!"<<endl;
	}
	
    fp<<"******************************记号流***********************************"<<endl; 
	fp<<setw(10)<<"内容"<<setw(10)<<"\t"<<"种别码"<<setw(10)<<"\t"<<"行号"<<setw(10)<<"\t"<<"列号"<<endl;
	 
    for(int j=1;j<=token_count+1;j++)
    {
    	fp<<setw(10)<<token[j].value<<setw(10)<<"\t"<<token[j].type<<"\t"<<setw(10)<<token[j].line<<"\t"<<setw(10)<<token[j].col<<endl;
    }
    fp<<endl<<endl;
    
    fp<<"********************************错误表********************************"<<endl; 
	fp<<setw(20)<<"描述"<<setw(7)<<"\t"<<"行号"<<setw(7)<<"\t"<<"列号"<<setw(20)<<"内容"<<endl;
	 
    for(int j=1;j<=lex_error_count;j++)
    {
    	fp<<setw(20)<<lex_error[j].description<<setw(7)<<"\t"<<lex_error[j].line<<setw(7)<<"\t"<<lex_error[j].col<<setw(20)<<lex_error[j].value<<endl;
    }
    
    fp<<"*******************************注释信息*********************************"<<endl;
    fp<<"startLine    "<<"startCol    "<<"endLine    "<<"endCol"<<endl;
    for(int i=1;i<=note_count;i++) 
    {
    	fp<<setw(10)<<note[i].start_line<<setw(10)<<note[i].start_col<<setw(10)<<note[i].end_line<<setw(10)<<note[i].end_col<<endl;
    }
	 
    fp<<"*******************************统计结果*********************************"<<endl<<endl;
	fp<<"总行数:"<<line<<endl;
	fp<<"总记号数:"<<token_count<<endl;
	fp<<"总错误数:"<<lex_error_count<<endl; 
	fp<<"总字符数:"<<char_count<<endl;
	
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
leaq 0x8fad(%rip), %rsi      # 0xe50b
leaq 0x8(%rsp), %rbx
pushq $0x10
popq %rdx
movq %rbx, %rdi
callq 0x2200
movq (%rbx), %rax
movq -0x18(%rax), %rax
testb $0x5, 0x28(%rsp,%rax)
je 0x5595
leaq 0x8f93(%rip), %rsi      # 0xe516
leaq 0x8(%rsp), %rdi
callq 0x21d0
movq %rax, %rdi
callq 0x20f0
leaq 0x8db5(%rip), %rsi      # 0xe351
leaq 0x8(%rsp), %rdi
callq 0x21d0
movq %rax, %rdi
callq 0x20f0
leaq 0x8(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0xa, 0x18(%rsp,%rax)
leaq 0x8dd2(%rip), %rsi      # 0xe39c
callq 0x21d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0xa, 0x10(%rax,%rcx)
leaq 0x8dbd(%rip), %rsi      # 0xe3a3
movq %rax, %rdi
callq 0x21d0
leaq 0x8db0(%rip), %rsi      # 0xe3a5
movq %rax, %rdi
callq 0x21d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0xa, 0x10(%rax,%rcx)
leaq 0x8d8f(%rip), %rsi      # 0xe3a3
movq %rax, %rdi
callq 0x21d0
leaq 0x8d8c(%rip), %rsi      # 0xe3af
movq %rax, %rdi
callq 0x21d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0xa, 0x10(%rax,%rcx)
leaq 0x8d61(%rip), %rsi      # 0xe3a3
movq %rax, %rdi
callq 0x21d0
leaq 0x8d65(%rip), %rsi      # 0xe3b6
movq %rax, %rdi
callq 0x21d0
movq %rax, %rdi
callq 0x20f0
pushq $0x1
popq %r15
leaq 0x11938(%rip), %r12     # 0x16fa4
leaq 0x8(%rsp), %rbx
leaq 0x8d2b(%rip), %r14      # 0xe3a3
movslq 0x118a1(%rip), %rax     # 0x16f20
incq %rax
cmpq %rax, %r15
jg 0x5735
movq 0x8(%rsp), %rax
movq -0x18(%rax), %rax
movq $0xa, 0x18(%rsp,%rax)
leaq -0x24(%r12), %rsi
movq %rbx, %rdi
callq 0x21c0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0xa, 0x10(%rax,%rcx)
movq %rax, %rdi
movq %r14, %rsi
callq 0x21d0
movl -0x2c(%r12), %esi
movq %rax, %rdi
callq 0x2320
movq %rax, %rdi
movq %r14, %rsi
callq 0x21d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0xa, 0x10(%rax,%rcx)
movl -0x4(%r12), %esi
movq %rax, %rdi
callq 0x2320
movq %rax, %rdi
movq %r14, %rsi
callq 0x21d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0xa, 0x10(%rax,%rcx)
movl (%r12), %esi
movq %rax, %rdi
callq 0x2320
movq %rax, %rdi
callq 0x20f0
incq %r15
addq $0x38, %r12
jmp 0x5678
leaq 0x8(%rsp), %rdi
callq 0x20f0
movq %rax, %rdi
callq 0x20f0
leaq 0x8c6f(%rip), %rsi      # 0xe3bd
leaq 0x8(%rsp), %rdi
callq 0x21d0
movq %rax, %rdi
callq 0x20f0
leaq 0x8(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0x14, 0x18(%rsp,%rax)
leaq 0x8c8b(%rip), %rsi      # 0xe407
callq 0x21d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
leaq 0x8c0b(%rip), %rsi      # 0xe3a3
movq %rax, %rdi
callq 0x21d0
leaq 0x8c08(%rip), %rsi      # 0xe3af
movq %rax, %rdi
callq 0x21d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
leaq 0x8bdd(%rip), %rsi      # 0xe3a3
movq %rax, %rdi
callq 0x21d0
leaq 0x8be1(%rip), %rsi      # 0xe3b6
movq %rax, %rdi
callq 0x21d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x14, 0x10(%rax,%rcx)
leaq 0x8ba8(%rip), %rsi      # 0xe39c
movq %rax, %rdi
callq 0x21d0
movq %rax, %rdi
callq 0x20f0
pushq $0x1
popq %r12
leaq 0x9a309(%rip), %rbx     # 0x9fb18
leaq 0x8(%rsp), %r14
leaq 0x8b88(%rip), %r15      # 0xe3a3
movslq 0x11706(%rip), %rax     # 0x16f28
cmpq %rax, %r12
jg 0x58c4
movq 0x8(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x14, 0x18(%rsp,%rax)
leaq 0x20(%rbx), %rsi
movq %r14, %rdi
callq 0x21c0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
movq %rax, %rdi
movq %r15, %rsi
callq 0x21d0
movl 0x40(%rbx), %esi
movq %rax, %rdi
callq 0x2320
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x7, 0x10(%rax,%rcx)
movq %rax, %rdi
movq %r15, %rsi
callq 0x21d0
movl 0x44(%rbx), %esi
movq %rax, %rdi
callq 0x2320
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x14, 0x10(%rax,%rcx)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x21c0
movq %rax, %rdi
callq 0x20f0
incq %r12
addq $0x50, %rbx
jmp 0x581b
leaq 0x8b43(%rip), %rsi      # 0xe40e
leaq 0x8(%rsp), %rdi
callq 0x21d0
movq %rax, %rdi
callq 0x20f0
leaq 0x8b77(%rip), %rsi      # 0xe45b
leaq 0x8(%rsp), %rdi
callq 0x21d0
leaq 0x8b74(%rip), %rsi      # 0xe469
movq %rax, %rdi
callq 0x21d0
leaq 0x8b72(%rip), %rsi      # 0xe476
movq %rax, %rdi
callq 0x21d0
leaq 0x8b6f(%rip), %rsi      # 0xe482
movq %rax, %rdi
callq 0x21d0
movq %rax, %rdi
callq 0x20f0
pushq $0x1
popq %r14
leaq 0x9c0ee(%rip), %r15     # 0xa1a1c
leaq 0x8(%rsp), %rbx
movslq 0x115f6(%rip), %rax     # 0x16f30
cmpq %rax, %r14
jg 0x59c8
movq 0x8(%rsp), %rax
movq -0x18(%rax), %rax
movq $0xa, 0x18(%rsp,%rax)
movl -0xc(%r15), %esi
movq %rbx, %rdi
callq 0x2320
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0xa, 0x10(%rax,%rcx)
movl -0x8(%r15), %esi
movq %rax, %rdi
callq 0x2320
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0xa, 0x10(%rax,%rcx)
movl -0x4(%r15), %esi
movq %rax, %rdi
callq 0x2320
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0xa, 0x10(%rax,%rcx)
movl (%r15), %esi
movq %rax, %rdi
callq 0x2320
movq %rax, %rdi
callq 0x20f0
incq %r14
addq $0x10, %r15
jmp 0x5933
leaq 0x8aba(%rip), %rsi      # 0xe489
leaq 0x8(%rsp), %rdi
callq 0x21d0
movq %rax, %rdi
callq 0x20f0
movq %rax, %rdi
callq 0x20f0
leaq 0x8ae6(%rip), %rsi      # 0xe4d6
leaq 0x8(%rsp), %rdi
callq 0x21d0
movl 0xe7d8(%rip), %esi      # 0x141d8
movq %rax, %rdi
callq 0x2320
movq %rax, %rdi
callq 0x20f0
leaq 0x8aca(%rip), %rsi      # 0xe4e1
leaq 0x8(%rsp), %rdi
callq 0x21d0
movl 0x114f9(%rip), %esi     # 0x16f20
movq %rax, %rdi
callq 0x2320
movq %rax, %rdi
callq 0x20f0
leaq 0x8ab1(%rip), %rsi      # 0xe4ef
leaq 0x8(%rsp), %rdi
callq 0x21d0
movl 0x114da(%rip), %esi     # 0x16f28
movq %rax, %rdi
callq 0x2320
movq %rax, %rdi
callq 0x20f0
leaq 0x8a98(%rip), %rsi      # 0xe4fd
leaq 0x8(%rsp), %rdi
callq 0x21d0
movl 0x114af(%rip), %esi     # 0x16f24
movq %rax, %rdi
callq 0x2320
movq %rax, %rdi
callq 0x20f0
leaq 0x8(%rsp), %rdi
callq 0x22a0
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0x5aa4
jmp 0x5aa4
jmp 0x5aa4
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x22a0
movq %rbx, %rdi
callq 0x2330