(* 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) }