(* lexer.mll - Does a lexical analysis for lambda * Written by Brock Wilcox *) { open Parser exception Eof } rule token = parse [' ' '\t' '\n'] { token lexbuf } (* skip blanks, tabs, newlines *) | "let" { LET } (* | ['0'-'9']+ { INT(int_of_string(Lexing.lexeme lexbuf)) } *) | ['a'-'z' 'A'-'Z' '_']+ { IDENT(Lexing.lexeme lexbuf) } | '=' { EQUAL } | '\\' { LAMBDA } | '.' { DOT } | '(' { LPAREN } | ')' { RPAREN } | ';' { SEMI } | eof { EOF } (* | '+' { PLUS } | ';' { END } | '-' { MINUS } | '*' { TIMES } | '/' { DIV } *)