updated lexer to work like a DFA -- now ignores spaces.