function validIdOrProp(token) {
                    if (!token) {
                        return false;
                    }
                    if (token.string === ".") {
                        return true;
                    }
                    var type = token.type;
                    if (type === "variable-2" || type === "variable" || type === "property") {
                        return true;
                    }

                    return false;
                }
function validIdOrProp(token) {
                    if (!token) {
                        return false;
                    }
                    if (token.string === ".") {
                        return true;
                    }
                    var type = token.type;
                    if (type === "variable-2" || type === "variable" || type === "property") {
                        return true;
                    }

                    return false;
                }
function validIdOrProp ( token ) { if ( ! token ) { return false ; } if ( token . string === "." ) { return true ; } var type = token . type ; if ( type === "variable-2" || type === "variable" || type === "property" ) { return true ; } return false ; }
helper function to decide if the tokens on the RHS of an assignment
look like an identifier, or member expr.
helper function to decide if the tokens on the RHS of an assignment look like an identifier or member expr .
Check if token is valid ID or Prop