var lexer=func(file) { var (ptr,token)=(0,[]); var s=io.fin(file); var len=size(s); var line=0; var gen=func(tok){ append(token,{ line:line, token:tok }); } return { jmp_note:func(){ while(ptr=len) print("read eof when generating string.\n"); ptr+=1; gen(str); }, num_gen:func(){ var number=chr(s[ptr]); ptr+=1; if(ptr' or c=='<' or c=='!' or c=='='){ var tmp=c; ptr+=1; if(ptr0) gen(c); ptr+=1; return; }, compile:func(){ line=1; while(ptr