Lexer now returns token array to main