Added a prefix lex to lexer-related states
Separating responsibilities of lexer and parser
Removed skipWhitespace
A bit of renaming