use std.io; var lexer = func(file) { var (ptr,token)=(0,[]); var s=io.readfile(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