First version of the lexer.