:main .fin .fout .cc .ne .m .si .ii "r" "in.txt" @fopen ^fin "w" "out.s" @fopen ^fout "# ac output\n" ,fout @fprintf ".text\n" ,fout @fprintf "\t.globl main\n" ,fout @fprintf :loop1 ,fin @feof $1 = [ ;_exit ] ,fin @fgetc ^cc ,cc $-1 = [ ;_exit ] ,m $0 = [ ,cc $34 = [ ~1 ^m ~0 ^ne ,si ".data\n\t_s%i:\t.asciz " ,fout @fprintf ,fout $34 @fputc +si ] ,cc $123 = [ ~2 ^m ~0 ^ne "# asm block start.\n" ,fout @fprintf ] ,cc $40 = [ ~4 ^m ~0 ^ne ] ,cc $43 = [ ~3 ^m ~0 ^ne "\tincl " ,fout @fprintf ] ,cc $45 = [ ~3 ^m ~0 ^ne "\tdecl " ,fout @fprintf ] ,cc $91 = [ "\tcmpb $0, %%cl\n" ,fout @fprintf ,ii "\tje %if\n" ,fout @fprintf +ii ~0 ^ne ] ,cc $93 = [ -ii ,ii "%i:\n" ,fout @fprintf ~0 ^ne ] ,cc $61 = [ "\tpopl %%eax\n\tpopl %%ebx\n" ,fout @fprintf "\tcmpl %%eax, %%ebx\n\tsete %%cl\n" ,fout @fprintf ~0 ^ne ] ,cc $33 = [ "\tnot %%cl\n" ,fout @fprintf ] ,cc $36 = [ ~3 ^m ~0 ^ne "\tpushl $" ,fout @fprintf ] ,cc $42 = [ ~3 ^m ~5 ^ne "\tmovl " ,fout @fprintf ] ,cc $126 = [ ~3 ^m ~3 ^ne "\tmovl $" ,fout @fprintf ] ,cc $58 = [ ~1 ^ne ~3 ^m ] ,cc $59 = [ ~3 ^m ~0 ^ne "\tjmp " ,fout @fprintf ] ,cc $64 = [ ~3 ^m ~0 ^ne "\tcall " ,fout @fprintf ] ,cc $46 = [ ~3 ^m ~2 ^ne ".data\n\t" ,fout @fprintf ] ,cc $44 = [ ~3 ^m ~0 ^ne "\tpushl " ,fout @fprintf ] ,cc $94 = [ ~3 ^m ~0 ^ne "\tmovl %%eax, " ,fout @fprintf ] ;loop1 ] ,m $1 = [ ,cc $34 = [ ~0 ^m ,fout $34 @fputc "\n.text\n" ,fout @fprintf -si ,si "\tpushl $_s%i\n" ,fout @fprintf +si ;loop1 ] ,cc "%c" ,fout @fprintf ;loop1 ] ,m $2 = [ ,cc $125 = [ ~0 ^m "\n# asm block end.\n" ,fout @fprintf ;loop1 ] ,cc $59 = [ "\n" ,fout @fprintf ;loop1 ] ,cc "%c" ,fout @fprintf ] ,m $3 = [ ,cc $32 = [ ;ws ] ,cc $10 = [ ;ws ] ,cc $9 = [ ;ws ] ,cc "%c" ,fout @fprintf ;loop1 :ws ~0 ^m ,ne $1 = [ ":\n" ,fout @fprintf ~0 ^ne ;loop1 ] ,ne $2 = [ ":\t.int 0\n.text\n" ,fout @fprintf ~0 ^ne ;loop1 ] ,ne $3 = [ ", %%eax\n" ,fout @fprintf ~0 ^ne ;loop1 ] ,ne $4 = [ ", %%ebx\n\tmovl %%eax, (%%ebx)\n" ,fout @fprintf ~0 ^ne ;loop1 ] ,ne $5 = [ ", %%ebx\n\tmovl (%%ebx), %%eax\n" ,fout @fprintf ] "\n" ,fout @fprintf ~0 ^ne ;loop1 ] ,m $4 = [ ,cc $41 = [ ~0 ^m ;loop1 ] ;loop1 ] :_exit $0 @exit