General lexer without special cases