code: function() {
  					gobbleSpaces();
  					var biop, to_check = expr.substr(index, max_binop_len), tc_len = to_check.length;
  					while(tc_len > 0) {
  						// Don't accept a binary op when it is an identifier.
  						// Binary ops that start with a identifier-valid character must be followed
  						// by a non identifier-part valid character
  						if(binary_ops.hasOwnProperty(to_check) && (
  							!isIdentifierStart(exprICode(index)) ||
  							(index+to_check.length< expr.length && !isIdentifierPart(exprICode(index+to_check.length)))
  						)) {
  							index += tc_len;
  							return to_check;
  						}
  						to_check = to_check.substr(0, --tc_len);
  					}
  					return false;
  				}
docs: `index` stores the character number we are currently at while `length` is a constant All of the gobbles below will modify `index` as we move along