// File: /workspace/github_cpp_makefile_star2_O1/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 %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
leaq 0xdec5(%rip), %rsi      # 0x144b3
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
movl $0x10, %edx
callq 0x2250
movq (%rbx), %rax
movq -0x18(%rax), %rax
testb $0x5, 0x28(%rsp,%rax)
je 0x6652
leaq 0xdea9(%rip), %rsi      # 0x144be
leaq 0x8(%rsp), %rbx
movl $0x1f, %edx
movq %rbx, %rdi
callq 0x2280
movq 0x8(%rsp), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
leaq 0x8(%rsp), %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq 0xdca0(%rip), %rsi      # 0x142f9
leaq 0x8(%rsp), %rbx
movl $0x4a, %edx
movq %rbx, %rdi
callq 0x2280
movq 0x8(%rsp), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
leaq 0x8(%rsp), %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq 0x8(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0xa, 0x18(%rsp,%rax)
leaq 0xdc92(%rip), %rsi      # 0x14344
movl $0x6, %edx
callq 0x2280
leaq 0x8(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0xa, 0x18(%rsp,%rax)
leaq 0xdc73(%rip), %rsi      # 0x1434b
movl $0x1, %edx
callq 0x2280
leaq 0xdc64(%rip), %rsi      # 0x1434d
leaq 0x8(%rsp), %rdi
movl $0x9, %edx
callq 0x2280
leaq 0x8(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0xa, 0x18(%rsp,%rax)
leaq 0xdc37(%rip), %rsi      # 0x1434b
movl $0x1, %edx
callq 0x2280
leaq 0xdc32(%rip), %rsi      # 0x14357
leaq 0x8(%rsp), %rdi
movl $0x6, %edx
callq 0x2280
leaq 0x8(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0xa, 0x18(%rsp,%rax)
leaq 0xdbfb(%rip), %rsi      # 0x1434b
movl $0x1, %edx
callq 0x2280
leaq 0xdbfd(%rip), %rsi      # 0x1435e
leaq 0x8(%rsp), %rbx
movl $0x6, %edx
movq %rbx, %rdi
callq 0x2280
movq 0x8(%rsp), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
cmpl $0x0, 0x167a8(%rip)     # 0x1cf50
js 0x68b5
leaq 0x1681f(%rip), %r13     # 0x1cfd4
xorl %ebp, %ebp
leaq 0x8(%rsp), %r14
leaq 0xdb88(%rip), %r15      # 0x1434b
movq 0x8(%rsp), %rax
movq -0x18(%rax), %rax
movq $0xa, 0x18(%rsp,%rax)
movq -0x24(%r13), %rsi
movq -0x1c(%r13), %rdx
movq %r14, %rdi
callq 0x2280
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rax
movq $0xa, 0x10(%r12,%rax)
movl $0x1, %edx
movq %r12, %rdi
movq %r15, %rsi
callq 0x2280
movl -0x2c(%r13), %esi
movq %r12, %rdi
callq 0x2390
movq %rax, %r12
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2280
movq (%r12), %rax
movq -0x18(%rax), %rax
movq $0xa, 0x10(%r12,%rax)
movl -0x4(%r13), %esi
movq %r12, %rdi
callq 0x2390
movq %rax, %r12
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2280
movq (%r12), %rax
movq -0x18(%rax), %rax
movq $0xa, 0x10(%r12,%rax)
movl (%r13), %esi
movq %r12, %rdi
callq 0x2390
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
movslq 0x166ab(%rip), %rax     # 0x1cf50
incq %rbp
addq $0x38, %r13
cmpq %rax, %rbp
jle 0x67c3
movq 0x8(%rsp), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
leaq 0x8(%rsp), %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq 0xda54(%rip), %rsi      # 0x14365
leaq 0x8(%rsp), %rbx
movl $0x49, %edx
movq %rbx, %rdi
callq 0x2280
movq 0x8(%rsp), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
leaq 0x8(%rsp), %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq 0x8(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0x14, 0x18(%rsp,%rax)
leaq 0xda45(%rip), %rsi      # 0x143af
movl $0x6, %edx
callq 0x2280
leaq 0x8(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0x7, 0x18(%rsp,%rax)
leaq 0xd9bb(%rip), %rsi      # 0x1434b
movl $0x1, %edx
callq 0x2280
leaq 0xd9b6(%rip), %rsi      # 0x14357
leaq 0x8(%rsp), %rdi
movl $0x6, %edx
callq 0x2280
leaq 0x8(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0x7, 0x18(%rsp,%rax)
leaq 0xd97f(%rip), %rsi      # 0x1434b
movl $0x1, %edx
callq 0x2280
leaq 0xd981(%rip), %rsi      # 0x1435e
leaq 0x8(%rsp), %rdi
movl $0x6, %edx
callq 0x2280
leaq 0x8(%rsp), %rbx
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq $0x14, 0x18(%rsp,%rax)
leaq 0xd93c(%rip), %rsi      # 0x14344
movl $0x6, %edx
movq %rbx, %rdi
callq 0x2280
movq 0x8(%rsp), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
leaq 0x8(%rsp), %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
cmpl $0x0, 0x16511(%rip)     # 0x1cf58
jle 0x6b49
leaq 0x9f138(%rip), %r12     # 0xa5b8c
xorl %r13d, %r13d
leaq 0x8(%rsp), %rbx
leaq 0xd8e8(%rip), %r14      # 0x1434b
movq 0x8(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x14, 0x18(%rsp,%rax)
movq -0x24(%r12), %rsi
movq -0x1c(%r12), %rdx
movq %rbx, %rdi
callq 0x2280
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rax
movq $0x7, 0x10(%r15,%rax)
movl $0x1, %edx
movq %r15, %rdi
movq %r14, %rsi
callq 0x2280
movl -0x4(%r12), %esi
movq %r15, %rdi
callq 0x2390
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rax
movq $0x7, 0x10(%r15,%rax)
movl $0x1, %edx
movq %r15, %rdi
movq %r14, %rsi
callq 0x2280
movl (%r12), %esi
movq %r15, %rdi
callq 0x2390
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x14, 0x10(%rax,%rcx)
movq -0x44(%r12), %rsi
movq -0x3c(%r12), %rdx
movq %rax, %rdi
callq 0x2280
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
movslq 0x1641f(%rip), %rax     # 0x1cf58
incq %r13
addq $0x50, %r12
cmpq %rax, %r13
jl 0x6a63
leaq 0xd866(%rip), %rsi      # 0x143b6
leaq 0x8(%rsp), %rbx
movl $0x4c, %edx
movq %rbx, %rdi
callq 0x2280
movq 0x8(%rsp), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
leaq 0x8(%rsp), %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq 0xd86f(%rip), %rsi      # 0x14403
leaq 0x8(%rsp), %rdi
movl $0xd, %edx
callq 0x2280
leaq 0xd867(%rip), %rsi      # 0x14411
leaq 0x8(%rsp), %rdi
movl $0xc, %edx
callq 0x2280
leaq 0xd85e(%rip), %rsi      # 0x1441e
leaq 0x8(%rsp), %rdi
movl $0xb, %edx
callq 0x2280
leaq 0xd854(%rip), %rsi      # 0x1442a
leaq 0x8(%rsp), %rbx
movl $0x6, %edx
movq %rbx, %rdi
callq 0x2280
movq 0x8(%rsp), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
leaq 0x8(%rsp), %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
cmpl $0x0, 0x16346(%rip)     # 0x1cf60
jle 0x6ce1
leaq 0xa0e25(%rip), %r15     # 0xa7a4c
xorl %r12d, %r12d
leaq 0x8(%rsp), %rbx
movq 0x8(%rsp), %rax
movq -0x18(%rax), %rax
movq $0xa, 0x18(%rsp,%rax)
movl -0xc(%r15), %esi
movq %rbx, %rdi
callq 0x2390
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0xa, 0x10(%rax,%rcx)
movl -0x8(%r15), %esi
movq %rax, %rdi
callq 0x2390
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0xa, 0x10(%rax,%rcx)
movl -0x4(%r15), %esi
movq %rax, %rdi
callq 0x2390
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0xa, 0x10(%rax,%rcx)
movl (%r15), %esi
movq %rax, %rdi
callq 0x2390
movq %rax, %r14
movq (%rax), %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
movslq 0x1628f(%rip), %rax     # 0x1cf60
incq %r12
addq $0x10, %r15
cmpq %rax, %r12
jl 0x6c2f
leaq 0xd749(%rip), %rsi      # 0x14431
leaq 0x8(%rsp), %rbx
movl $0x4c, %edx
movq %rbx, %rdi
callq 0x2280
movq 0x8(%rsp), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
leaq 0x8(%rsp), %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq 0xd728(%rip), %rsi      # 0x1447e
leaq 0x8(%rsp), %rdi
movl $0xa, %edx
callq 0x2280
movl 0x1349d(%rip), %esi     # 0x1a208
leaq 0x8(%rsp), %rdi
callq 0x2390
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq 0xd6e3(%rip), %rsi      # 0x14489
leaq 0x8(%rsp), %rdi
movl $0xd, %edx
callq 0x2280
movl 0x16195(%rip), %esi     # 0x1cf50
leaq 0x8(%rsp), %rdi
callq 0x2390
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq 0xd6a1(%rip), %rsi      # 0x14497
leaq 0x8(%rsp), %rdi
movl $0xd, %edx
callq 0x2280
movl 0x1614d(%rip), %esi     # 0x1cf58
leaq 0x8(%rsp), %rdi
callq 0x2390
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq 0xd65f(%rip), %rsi      # 0x144a5
leaq 0x8(%rsp), %rdi
movl $0xd, %edx
callq 0x2280
movl 0x160f9(%rip), %esi     # 0x1cf54
leaq 0x8(%rsp), %rdi
callq 0x2390
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
movq 0x1312a(%rip), %rax     # 0x19fc0
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq 0x10(%rsp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, 0x8(%rsp,%rcx)
callq 0x21c0
leaq 0x100(%rsp), %rdi
callq 0x20b0
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x6ed9
jmp 0x6ed9
jmp 0x6ed9
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2300
movq %rbx, %rdi
callq 0x23a0