(* lexer.mll -*- tuareg -*- *) { open Parser let get = Lexing.lexeme } (* Helpers *) let tab = '\009' let cr = '\013' let lf = '\010' let eol = cr | lf | cr lf let char = ['a'-'z'] | ['A'-'Z'] | ['0'-'9'] (* Tokens *) rule token = parse | eol { token lexbuf } | (' ' | tab) { token lexbuf } | eof { EOF } | "' { GT } | "" { ENDA } | "" { STARTB } | "" { STARTI } | "" { STARTEM } | "" { ENDB } | "" { ENDI } | "" { ENDEM } | char char* { WORD (get lexbuf) }