Lexer is not yet 'done'.  It's ugly, for a start.