Alpha version of the lexer - should be almost finished except for tuning.