finished lexer.mll rules